Logo

Sticky Form Actions try to scroll the page

Customer Info:

If you want your invoices addressed to a company. Leave blank to use your full name.
We'll never share your email with anyone else.
.com

Address Details:

Account:

Email will not be publicly displayed. Learn more.

Security:

After you log in, you will be asked for additional information to confirm your identity and protect your account from being compromised. Learn more.
For extra security, this requires you to confirm your email or phone number when you reset your password. Learn more.

    <div class="card card-custom card-sticky" id="kt_page_sticky_card">
     <div class="card-header">
      <div class="card-title">
       <h3 class="card-label">
        Sticky Form Actions <i class="mr-2"></i>
        <small class="">try to scroll the page</small>
       </h3>
      </div>
     </div>
     <div class="card-body">
     ...
     </div>
    </div>
    

    "use strict";

    var KTLayoutStickyCard=function() {
     // Private properties
     var _element;
     var _object;

     // Private functions
     var _init=function() {
      var offset=300;

      if (typeof KTLayoutHeader !=='undefined') {
       offset=KTLayoutHeader.getHeight();
      }

      _object=new KTCard(_element, {
        sticky: {
         offset: offset,
         zIndex: 90,
         position: {
          top: function() {
           var pos=0;
           var body=KTUtil.getBody();

           if (KTUtil.isBreakpointUp('lg')) {
            if (typeof KTLayoutHeader !=='undefined'&& KTLayoutHeader.isFixed()) {
             pos=pos + KTLayoutHeader.getHeight();
            }

            if (typeof KTLayoutSubheader !=='undefined'&& KTLayoutSubheader.isFixed()) {
             pos=pos + KTLayoutSubheader.getHeight();
            }
           }

           else {
            if (typeof KTLayoutHeader !=='undefined'&& KTLayoutHeader.isFixedForMobile()) {
             pos=pos + KTLayoutHeader.getHeightForMobile();
            }
           }

           pos=pos - 1; // remove header border width

           return pos;
          },
          left: function(card) {
           return KTUtil.offset(_element).left;
          },
          right: function(card) {
           var body=KTUtil.getBody();

           var cardWidth=parseInt(KTUtil.css(_element, 'width'));
           var bodyWidth=parseInt(KTUtil.css(body, 'width'));
           var cardOffsetLeft=KTUtil.offset(_element).left;

           return bodyWidth - cardWidth - cardOffsetLeft;
          }
         }
        }
       }
      );

      _object.initSticky();

      KTUtil.addResizeHandler(function() {
        _object.updateSticky();
       }
      );
     }

     // Public methods
     return {
      init: function(id) {
       _element=KTUtil.getById(id);

       if ( !_element) {
        return;
       }

       // Initialize
       _init();
      },

      update: function() {
       if (_object) {
        _object.updateSticky();
       }
      }
     };
    }();

    // Webpack support
    if (typeof module !=='undefined') {
     module.exports=KTLayoutStickyCard;
    }
    

User Profile 12 messages

James Jones
Application Developer
Recent Notifications
Another purpose persuade Due in 2 Days
+28%
Would be to people Due in 2 Days
+50%
-27%
The best product Due in 2 Days
+8%

Shopping Cart

iBlender The best kitchen gadget in 2020
$ 350 for 5
SmartCleaner Smart tool for cooking
$ 650 for 4
CameraMax Professional camera for edge cutting shots
$ 150 for 3
4D Printer Manufactoring unique objects
$ 1450 for 7
MotionWire Perfect animation tool
$ 650 for 7

Select A Demo

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9
Demo 10
Demo 11
Demo 12
Demo 13
Demo 14
Demo 15
Demo 16
Demo 17
Demo 18
Demo 19
Demo 20
Demo 21
Demo 22
Demo 23
Demo 24
Demo 25
Demo 26
Demo 27
Demo 28
Demo 29
Demo 30