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.rtl.css(_element, 'width'));
           var bodyWidth=parseInt(KTUtil.rtl.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;
    }
    

Notifications 24 New

Quick Actions finance & reports

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%

Select A Demo