1 $(document).ready(function () { 2 const targetCode = window.PRODUCT_DATA_CODE; 3 4 // === 1. ÐниÑиализиÑÑем ÐСРÑлайдеÑÑ (s5, s6, s7) === 5 const sliders = ['.s5', '.s6', '.s7']; 6 sliders.forEach(cls => { 7 const $slider = $(`.slider${cls} .wrap`); 8 const sliderId = cls.replace('.', ''); // s5, s6, s7 9 10 if (!$slider.hasClass('slick-initialized')) { 11 $slider.slick({ 12 infinite: true, 13 dots: true, 14 vertical: false, 15 slidesToShow: 1, 16 autoplay: false, 17 fade: true, 18 initialSlide: 0, 19 prevArrow: `.slider.${sliderId} [href='#btn-prev']`, 20 nextArrow: `.slider.${sliderId} [href='#btn-next']`, 21 responsive: [ 22 { breakpoint: 768, settings: { slidesToShow: 1 } }, 23 { breakpoint: 480, settings: { slidesToShow: 1 } } 24 ] 25 }); 26 27 $slider.on('afterChange', function(event, slick, currentSlideIndex) { 28 const $currentSlide = $(this).find('.slide').eq(currentSlideIndex); 29 const code = $currentSlide.data('code'); 30 31 if (!code) return; 32 33 const basePath = '/products/'; 34 const newPath = basePath + code + '/'; 35 const hash = '#section3'; 36 const newUrl = newPath + hash; 37 history.replaceState(null, '', newUrl); 38 }); 39 } 40 }); 41 42 // ÐÑли Ð½ÐµÑ ÐºÐ¾Ð´Ð° â вÑÑ Ð¾Ð´Ð¸Ð¼ (оÑÑавлÑем акÑивнÑм пеÑвÑй Ñаб по ÑмолÑаниÑ) 43 44 if (!targetCode) return; 45 46 // === 2. ÐÑем Ñлайд Ñ data-code === 47 const $slide = $(`.slide[data-code="${targetCode}"]`); 48 if (!$slide.length) { 49 return; 50 } 51 52 // === 3. ÐпÑеделÑем, в каком ÑлайдеÑе он Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ === 53 const $slider = $slide.closest('.slider'); // .slider.s6 54 const sliderClass = $slider.attr('class').match(/s[5-7]/); 55 if (!sliderClass) return; 56 57 const sliderId = sliderClass[0]; // s5, s6, s7 58 59 // === 4. ÐкÑивиÑÑем нÑжнÑй Ñаб === 60 const $tab = $(`.tabs a[href="#slider_${sliderId}"]`); 61 $('.tabs a').removeClass('select'); 62 $tab.addClass('select'); 63 64 // === 5. ÐоказÑваем нÑжнÑй ÑлайдеÑ, ÑкÑÑваем оÑÑалÑнÑе === 65 $('.slider').addClass('hide'); 66 $slider.removeClass('hide'); 67 68 // === 6. ÐÐ°Ñ Ð¾Ð´Ð¸Ð¼ Ð¸Ð½Ð´ÐµÐºÑ Ñлайда в его ÑлайдеÑе === 69 const $wrap = $slider.find('.wrap'); 70 const slideIndex = $wrap.find('.slide').index($slide); 71 72 // === 7. ÐÑолиÑÑÑваем к нÑÐ¶Ð½Ð¾Ð¼Ñ ÑÐ»Ð°Ð¹Ð´Ñ === 73 $wrap.slick('slickGoTo', slideIndex); 74 }); 75 76$(function(){ 77 // $('.slider.s5 .wrap').slick({ 78 // infinite: true, 79 // dots: true, 80 // vertical: false, 81 // verticalSwiping: false, 82 // slidesToShow: 1, 83 // autoplay: false, 84 // fade: true, 85 // prevArrow: ".slider.s5 [href='#btn-prev']", 86 // nextArrow: ".slider.s5 [href='#btn-next']", 87 // responsive: [ 88 // { 89 // breakpoint: 768, 90 // settings: { 91 // slidesToShow: 1, 92 // } 93 // }, 94 // { 95 // breakpoint: 480, 96 // settings: { 97 // slidesToShow: 1, 98 // } 99 // } 100 // ] 101 // }); 102 103 // $('.slider.s6 .wrap').slick({ 104 // infinite: true, 105 // dots: true, 106 // vertical: false, 107 // verticalSwiping: false, 108 // slidesToShow: 1, 109 // autoplay: false, 110 // fade: true, 111 // prevArrow: ".slider.s6 [href='#btn-prev']", 112 // nextArrow: ".slider.s6 [href='#btn-next']", 113 // responsive: [ 114 // { 115 // breakpoint: 768, 116 // settings: { 117 // slidesToShow: 1, 118 // } 119 // }, 120 // { 121 // breakpoint: 480, 122 // settings: { 123 // slidesToShow: 1, 124 // } 125 // } 126 // ] 127 // }); 128 129 // $('.slider.s7 .wrap').slick({ 130 // infinite: true, 131 // dots: true, 132 // vertical: false, 133 // verticalSwiping: false, 134 // slidesToShow: 1, 135 // autoplay: false, 136 // fade: true, 137 // prevArrow: ".slider.s7 [href='#btn-prev']", 138 // nextArrow: ".slider.s7 [href='#btn-next']", 139 // responsive: [ 140 // { 141 // breakpoint: 768, 142 // settings: { 143 // slidesToShow: 1, 144 // } 145 // }, 146 // { 147 // breakpoint: 480, 148 // settings: { 149 // slidesToShow: 1, 150 // } 151 // } 152 // ] 153 // }); 154 155 $("[href='#ico_more_open']",".slider.s5, .slider.s6, .slider.s7").on('click', function() { 156 _this = $(this); 157 _this.parents("section").toggleClass('ico_more_open'); 158 _this.parents(".slider").toggleClass('ico_more_open'); 159 _this.parents(".ico_more").toggleClass('ico_more_open'); 160 }); 161 $("[href='#product_open']",".slider.s5, .slider.s6, .slider.s7").on('click', function() { 162 _this = $(this); 163 _this.parents("section").toggleClass('product_open'); 164 _this.parents(".slider").toggleClass('product_open'); 165 _this.parents(".slide").toggleClass('product_open'); 166 }); 167 $("[href='#tabs_more']").on('click', function() { 168 $(this).parents(".tabs").toggleClass('open'); 169 }); 170 $("[href='#cart_open']",".slider.s5, .slider.s6, .slider.s7").on('click', function() { 171 _this = $(this); 172 $('header').toggleClass('cart_open'); 173 }); 174 175 176 // ÐÑи нажаÑии +/- изменеÑм знаÑение в input'е
177 $('.slider form a[href^="#"]').on('click', function() { 178 var thisButton = $(this) 179 var thisInput = thisButton.siblings("div.number").find("input[name=count]") 180 var amount = thisButton.attr("href") == "#minus" ? -1 181 : thisButton.attr("href") == "#plus" ? +1 : 0 182 var value = parseInt(thisInput.val()) 183 value += amount 184 value = value < 0 ? 0 : (value > 9999 ? 9999 : value) 185 thisInput.val(value); 186 }) 187 188 // Ðе даем оÑоÑлаÑÑ ÑоÑÐ¼Ñ Ð¿Ð¾ ENTER 189 $('.slider form input[name=count]').keypress(function (event) { 190 if (event.keyCode === 10 || event.keyCode === 13) { 191 event.preventDefault(); 192 } 193 }) 194 195 $(function() { 196 $(".slider form a[href='#to_cart']").click( function() { 197 event.preventDefault(); // ???? 198 199 var thisButton = $(this); 200 var thisInput = thisButton.siblings("div.number").find("input[name=count]") 201 var id = parseInt(thisButton.data('item-id')); 202 var url = thisButton.data('ajax-url'); 203 var amount = thisInput.val(); 204 205 if (amount <= 0) 206 return; 207 208 $.ajax({ 209 url: url, 210 type: 'POST', 211 data: { 212 id: id, 213 amount: amount, 214 action: 'change', 215 } 216 }).done(function(data) { 217 var data = $.parseJSON(data); 218 219 if (data.status == 'ok') { 220 // ÐбновлÑем коÑÐ·Ð¸Ð½Ñ 221 BX.onCustomEvent('OnBasketChange'); 222 // ÐоÑле Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾ÑÐ·Ð¸Ð½Ñ Ð½Ð° беке, оÑкÑÑваем ее на ÑÑонÑе 223 BX.onCustomEvent('OnBasketToggle'); 224 } 225 }) 226 .fail(function(a) { 227 console.log("error", a); 228 }) 229 .always(function(a) { 230 // console.log("complete", a); 231 }); 232 233 }); 234 }); 235 236 237 238 239});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.