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

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


Deprecated: Return type of Adbar\Dot::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 390

Deprecated: Return type of Adbar\Dot::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 401

Deprecated: Return type of Adbar\Dot::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 412

Deprecated: Return type of Adbar\Dot::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 428

Deprecated: Return type of Adbar\Dot::count($key = null) should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 445

Deprecated: Return type of Adbar\Dot::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 461

Deprecated: Return type of Adbar\Dot::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/preview.keenthemes.com/metronic/releases/2021-05-14-112058/theme/html/tools/preview/docs/lib/dot.php on line 477
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