//(function($) { // // корзина каталога, переключение видов // function topCart(update) { // var notempty = $('#top-shopcart').hasClass('notempty'); // пустая ли корзина // if ((update == 0 && (notempty)) || update == 1) //если корзина не пустая (при загрузке и скроллинге страницы) или по событию добавления товара // { // if ($(window).scrollTop() > 120) { //если скроллинг страницы более 120px (высота корзины "в шапке") // $('#top-shopcart').addClass('always-on-top'); // вкл. корзину // } else { //если скроллинг страницы менее 120px // $('#top-shopcart').removeClass('always-on-top'); // откл. корзину // } // } // if ($('body').hasClass('mobile') && !$('body').hasClass('tablet')) { //если мобильный телефон но не планшет // $('#top-shopcart').addClass('always-on-top'); // обратно вкл. корзину // $('body').css('margin-top', '50px'); // отодвигаем тело документа на 75px (высота корзины "всегда на виду") // } // } // $(document).ready(function() { // topCart(0); // }); // $(window).scroll(function() { // topCart(0); // }); // $(document).on("update.shopcart", function() { // topCart(1); // }); //})(jQuery); (function($) { // корзина каталога, переключение видов function topCart(updateCart) { var topShopcart = $('#top-shopcart'), // корзина alwaysOnTopClass = 'always-on-top', // класс для корзины "всегда на виду" howScrollToEnable = 120, // прокрутка до включения корзины "всегда на виду" alwaysOnTopHeight = topShopcart.outerHeight(true), // высота корзины "всегда на виду" notEmptyCart = topShopcart.hasClass('notempty'), // пустая ли корзина? whatsHappening = (updateCart) ? 'updateCart' : 'windowScrollOrDocumentReady', // что происходит? doAction = ((whatsHappening == 'windowScrollOrDocumentReady' && notEmptyCart) || whatsHappening == 'updateCart'), // выполнять? scrollDown = ($(window).scrollTop() > howScrollToEnable), // прокрутка страницы больше прокрутки до включения mobilePhone = ($('body').hasClass('mobile') && !$('body').hasClass('tablet')); // мобильный телефон? if (doAction) { (scrollDown) ? topShopcart.addClass(alwaysOnTopClass) : topShopcart.removeClass(alwaysOnTopClass); } if (mobilePhone) { topShopcart.addClass(alwaysOnTopClass); $('body').css('margin-top', alwaysOnTopHeight + 'px'); } } $(document).ready(function() { topCart(false); }); $(window).scroll(function() { topCart(false); }); $(document).on("update.shopcart", function() { topCart(true); }); })(jQuery);