You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.6 KiB
89 lines
2.6 KiB
/* global woodmart_settings */
|
|
(function($) {
|
|
woodmartThemeModule.stickyAddToCart = function() {
|
|
var $trigger = $('form.cart, .out-of-stock');
|
|
var $stickyBtn = $('.wd-sticky-btn');
|
|
|
|
if ($stickyBtn.length <= 0 || $trigger.length <= 0 || (woodmartThemeModule.$window.width() <= 768 && !woodmartThemeModule.$body.hasClass('wd-sticky-btn-on-mb'))) {
|
|
return;
|
|
}
|
|
|
|
var quantityOverlap = function() {
|
|
if (woodmartThemeModule.$window.width() <= 768 && woodmartThemeModule.$body.hasClass('wd-sticky-btn-on-mb')) {
|
|
$stickyBtn.addClass('wd-quantity-overlap');
|
|
} else {
|
|
$stickyBtn.removeClass('wd-quantity-overlap');
|
|
}
|
|
};
|
|
|
|
quantityOverlap();
|
|
woodmartThemeModule.$window.on('resize', quantityOverlap);
|
|
|
|
var summaryOffset = $trigger.offset().top + $trigger.outerHeight();
|
|
var $scrollToTop = $('.scrollToTop');
|
|
|
|
var stickyAddToCartToggle = function() {
|
|
var windowScroll = woodmartThemeModule.$window.scrollTop();
|
|
|
|
if (summaryOffset < windowScroll) {
|
|
$stickyBtn.addClass('wd-sticky-btn-shown');
|
|
$scrollToTop.addClass('wd-sticky-btn-shown');
|
|
|
|
} else if (summaryOffset > windowScroll) {
|
|
$stickyBtn.removeClass('wd-sticky-btn-shown');
|
|
$scrollToTop.removeClass('wd-sticky-btn-shown');
|
|
}
|
|
};
|
|
|
|
stickyAddToCartToggle();
|
|
|
|
woodmartThemeModule.$window.on('scroll', stickyAddToCartToggle);
|
|
|
|
$('.wd-sticky-add-to-cart, .wd-sticky-btn .wd-buy-now-btn').on('click', function(e) {
|
|
e.preventDefault();
|
|
|
|
$('html, body').animate({
|
|
scrollTop: $('.elementor-widget-woocommerce-product-title,.summary-inner .product_title,.elementor-widget-wd_single_product_title, .wd-single-title').offset().top
|
|
}, 800);
|
|
});
|
|
|
|
// Wishlist.
|
|
$('.wd-sticky-btn .wd-wishlist-btn a').on('click', function(e) {
|
|
if (!$(this).hasClass('added')) {
|
|
e.preventDefault();
|
|
}
|
|
|
|
$('.summary-inner > .wd-wishlist-btn a').trigger('click');
|
|
});
|
|
|
|
woodmartThemeModule.$document.on('added_to_wishlist', function() {
|
|
$('.wd-sticky-btn .wd-wishlist-btn a').addClass('added');
|
|
});
|
|
|
|
// Compare.
|
|
$('.wd-sticky-btn .wd-compare-btn a').on('click', function(e) {
|
|
if (!$(this).hasClass('added')) {
|
|
e.preventDefault();
|
|
}
|
|
|
|
$('.summary-inner > .wd-compare-btn a').trigger('click');
|
|
});
|
|
|
|
woodmartThemeModule.$document.on('added_to_compare', function() {
|
|
$('.wd-sticky-btn .wd-compare-btn a').addClass('added');
|
|
});
|
|
|
|
// Quantity.
|
|
$('.wd-sticky-btn-cart .qty').on('change', function() {
|
|
$('.summary-inner .qty').val($(this).val());
|
|
});
|
|
|
|
$('.summary-inner .qty').on('change', function() {
|
|
$('.wd-sticky-btn-cart .qty').val($(this).val());
|
|
});
|
|
};
|
|
|
|
$(document).ready(function() {
|
|
woodmartThemeModule.stickyAddToCart();
|
|
});
|
|
})(jQuery);
|
|
|