$(document).ready(function() { var mobileWidth = 1000; //группа глобальных переменных для фиксации положений, прокруток и размеров var currentWindowScrollTop = 0; var currentWindowHeight = 0; var currentWindowWidth = 0; var currentGallery = []; var currentGalleryPosition = ''; var bannerAll = $('div.banner-stream .banner-element').length; var bannerCurr = 0; //определение размера окна для позиционирования элементов галереи function getWinSizes() { currentWindowHeight = $(window).outerHeight(); currentWindowWidth = $(window).innerWidth(); let gallHeight = $('div.cardImagesPanel').outerHeight(); let gallDifferent = Math.round((currentWindowHeight-gallHeight) / 2) $('div.cardImagesPanel').css('top', $(window).scrollTop() + gallDifferent); //console.log(' h=' + currentWindowHeight + ' w=' + currentWindowWidth); $('div.banner').css('width',currentWindowWidth); $('div.banner-element').css('width',currentWindowWidth); } getWinSizes(); $(window).on('resize', function(){ getWinSizes() }); //анимация баннеров var banners = []; var bannersCnt = 0; // $('div.banner').append(""); $.each($('div.banner-element'), function(ind, element){ $('div.banner-navigation').append(""); bannersCnt++; /* let currBanner = [$(element).attr('title'), $(element).attr('text'), $(element).attr('link'), $(element).attr('image'), $(element).attr('back')]; banners.push(currBanner); //console.log(element); //console.log(currBanner); */ }); //console.log(banners); var currBannerPos = 0; var cursorOnBanner = false; var firstBannerStart = true; //по новому function changeBannerA(){ if (bannerCurr < bannerAll) { $('div.banner-stream').css('margin-left', (bannerCurr * currentWindowWidth * -1)); $('div.banner-stream').css('transition','margin 1.32s ease'); $('div.banner-navigation div').attr('class','navigation-unselect'); $('div.banner-navigation div#banner-nav-'+bannerCurr ).attr('class','navigation-select'); $('div.banner-navigation div#banner-nav-'+bannerCurr ).css('transition','background 1.32s ease'); bannerCurr++; } else { bannerCurr = 0; $('div.banner-stream').css('margin-left', (bannerCurr * currentWindowWidth * -1)); $('div.banner-stream').css('transition','margin 1.32s ease'); $('div.banner-navigation div').attr('class','navigation-unselect'); $('div.banner-navigation div#banner-nav-'+bannerCurr ).attr('class','navigation-select'); $('div.banner-navigation div#banner-nav-'+bannerCurr ).css('transition','background 1.32s ease'); } } //intervalID = 0; //console.log($('div.banner').length); if ($('div.banner').length > 0) { changeBannerA(); intervalID = setInterval(changeBannerA, 5000); } $('div.banner-navigation').mouseenter(function(){ clearInterval(intervalID); //console.log('stopped anime'); }); $('div.banner-navigation').mouseleave(function(){ intervalID = setInterval(changeBannerA, 5000); //console.log('restart anime'); }); $('div.banner-navigation div').click(function(elm) { bannerCurr = elm.target.id.replace('banner-nav-',''); changeBannerA(); }); //alert('YAHOO1'); $("#listTk :first").attr('selected', 'true'); //alert('YAHOO1'); $("#buttonSubmit_calc1").click(function() { // alert("Y2"); var data1 = $("#listOtpravok").val(); var data2 = $("#listTk").val(); $('#resultCalculation').load('/block_calc1.php', {'listOtpravok':data1, 'tk':data2}); }); //клик по галерейной фотке - открываем галерею $('div.cardImages img').click(function(){ //если это десктоп или чтото большое - то галерею. //если мобила - то по другому делаем if (currentWindowWidth > mobileWidth) { let selectedImage = $(this).attr('full'); //$('div.cardImagesPanel').css('background-image', 'url('+ selectedImage + ')'); $('div.tuman').css('height', $(document).innerHeight()); $('div.tuman').css('visibility','visible'); $('div.tuman').fadeIn(200); getWinSizes(); let gallHeight = $('div.cardImagesPanel').outerHeight(); let gallDifferent = Math.round((currentWindowHeight-gallHeight) / 2) $('div.cardImagesPanel').css('top', $(window).scrollTop() + gallDifferent); $('div.cardImagesPanel').css('visibility','visible'); $('div.cardImagesPanel').fadeIn(200); //заполним массив галереи из данных на странице $.each($('div.cardImages img'), function(ind, element){ let currImg = [ind, $(element).attr('title'), $(element).attr('full')]; currentGallery.push(currImg); if ($(element).attr('full') == selectedImage) { currentGalleryPosition = ind; //console.log('cu=' + $(element).attr('full') + ' ' + $(this).attr('full') + ' ' + ind); } }); //console.log('стартовая позиция - ' + currentGalleryPosition); //console.log(currentGallery) //показать картинку showGalleryImage(currentGalleryPosition); } else { } }); //смена картинки в галерейном блоке из массива function showGalleryImage(imageId){ //$('div.cardImagesPanel').css('background-image', 'url('+ currentGallery[imageId][2] + ')'); setTimeout(function(){ $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState1'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState2'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState3'); console.log('1'+ $('div.cardImagesPanel .galleryImageBody').attr('class') ); }, 10); setTimeout(function(){ $('div.cardImagesPanel .galleryImageBody').addClass('oborotState2'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState1'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState3'); console.log('2'+ $('div.cardImagesPanel .galleryImageBody').attr('class') ); }, 200); setTimeout(function(){ $('div.cardImagesPanel .galleryImageBody').attr('src', currentGallery[imageId][2] ); $('div.cardImagesPanel .galleryImageTitle').text(currentGallery[imageId][1]); }, 400); setTimeout(function(){ $('div.cardImagesPanel .galleryImageBody').addClass('oborotState3'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState1'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState2'); console.log('3'+ $('div.cardImagesPanel .galleryImageBody').attr('class') ); }, 600); setTimeout(function(){ $('div.cardImagesPanel .galleryImageBody').addClass('oborotState1'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState2'); $('div.cardImagesPanel .galleryImageBody').removeClass('oborotState3'); console.log('4'+ $('div.cardImagesPanel .galleryImageBody').attr('class') ); }, 800); //вкл-выкл кнопок вправо-влево в связи с достижением какой-то из границ набора $('div.galleryNavLeft').fadeIn(50); $('div.galleryNavRight').fadeIn(50); //если мы достигли левого края массива if (imageId == 0) { $('div.galleryNavLeft').fadeOut(150); } if (imageId == currentGallery.length-1) { $('div.galleryNavRight').fadeOut(150); } } //позиционирование окна галереи (или еще чего-то) относительно прокрутки экрана $(window).on('scroll', function(){ if ($('div.cardImagesPanel').css('visibility') == 'visible') { let gallHeight = $('div.cardImagesPanel').outerHeight(); let gallDifferent = Math.round((currentWindowHeight-gallHeight) / 2) $('div.cardImagesPanel').css('top', $(window).scrollTop() + gallDifferent); // $('div.cardImagesPanel').offset({top:$(window).scrollTop() + 50, left:0}); } //console.log(currentWindowWidth + ' = ' +$(window).scrollTop() ); //и шапочку заодно припомним... //var intervalPero; /* if (currentWindowWidth < mobileWidth) { if ($(window).scrollTop() > $('#header1').outerHeight()) { if ($('.header1-1').css('position') == 'absolute') { $('.header1-1').slideDown(300);$('.header1-1').css('position', 'sticky'); intervalPero = setInterval(peroTryaska, 3000); //console.log('start'); } } else { if ($('.header1-1').css('position') == 'sticky') { $('.header1-1').slideUp(300, function() { $('.header1-1').css('position', 'absolute'); clearInterval(intervalPero); //console.log('stop'); }); } } } */ //кнопка прокрутки вверх if ($(window).scrollTop() > currentWindowHeight) { $('div.scrollOnTop').fadeIn(500); $('div.scrollOnTop').css('top', $(window).scrollTop() + currentWindowHeight - 100); } else { $('div.scrollOnTop').fadeOut(500); } }); //потрясти рукой с ручкой function peroTryaska() { //console.log('Tryah!!'); /* $('.smallHeaderMsg').animate({ padding:'5px 1px 5px 19px' }, 50,function(){ $('.smallHeaderMsg').animate({ padding:'5px 19px 5px 1px' }, 100, function(){ $('.smallHeaderMsg').animate({ padding:'5px 10px 5px 10px' }, 50); }); }); */ } //скролл вверх $('div.scrollOnTop').on('click', function(){ $('html, body').animate({ scrollTop: 0}, 500, 'swing'); //$(window).scrollTop(0); }); $('div.galleryNav').on('click', function(){ // console.log($(this).find('img').attr('src')); if ($(this).hasClass('galleryNavClose')) { $('div.tuman').fadeOut(300); $('div.cardImagesPanel').fadeOut(200); currentGallery = []; //console.log('ХУ'); } if ($(this).hasClass('galleryNavRight')) { //console.log('right'); if (currentGalleryPosition < currentGallery.length-1 ) { currentGalleryPosition = currentGalleryPosition + 1; //$('div.cardImagesPanel').css('background-image', 'url('+ currentGallery[currentGalleryPosition][2] + ')'); showGalleryImage(currentGalleryPosition); } } if ($(this).hasClass('galleryNavLeft')) { //console.log('left'); if (currentGalleryPosition > 0 ) { currentGalleryPosition = currentGalleryPosition - 1; showGalleryImage(currentGalleryPosition); } } //console.log('текущая позиция - ' + currentGalleryPosition); }); //поиск по моделям function findModel(){ let findStr = $('.findModelInput').val(); if (findStr.match(/[0-9]+/) == findStr ) { let targetLocationDomain = window.location.protocol + '//' + window.location.hostname + '/' + findStr; window.location = targetLocationDomain; } else { $('.findModelMessage').text('введенное значение не соответствует коду модели!'); $('.findModelMessage').css('visibility','visible'); $('.findModelMessage').fadeIn(100); setTimeout(function(){ $('.findModelMessage').fadeOut(500); }, 2000); } } $('.findModelAction').on('click', function(){ findModel(); }); $('.findModelInput').on('keydown', function(e){ if (e.keyCode == 13) {findModel();} }); /* подслой верхнего мобильного меню */ var currentSmallHeaderMenu = ''; var newContent = ''; $('div.smallHeaderContainer > div[act]').on('click', function(){ //console.log(currentSmallHeaderMenu + '=' + $(this).attr('class')); if (currentSmallHeaderMenu == $(this).attr('class')) { $('div.smallHeaderSub').slideUp(300, function(){currentSmallHeaderMenu = '';}); } else { currentSmallHeaderMenu = $(this).attr('class'); $('div.smallHeaderSub').slideUp(200, function(){ if (currentSmallHeaderMenu == 'smallHeaderMsg') { newContent = $('div.backMessage').html(); } if (currentSmallHeaderMenu == 'smallHeaderMenu') { newContent = $('div.header-menu').html();} if (currentSmallHeaderMenu == 'smallHeaderFind') { newContent = $('div.findModel').html();} if (currentSmallHeaderMenu == 'smallHeaderTel') { newContent = $('div.topPhone').html() + $('div.topMail').html();} $('div.smallHeaderSub').html(newContent); $('div.smallHeaderSub').slideDown(500); }); } }); //прыжки по анкорам в основных компонентах (карточка товара) $('.osnComponents tr[anchor]').on('click', function(){ let posForScroll = Math.round($('h3[anchor='+$(this).attr('anchor')+']').offset().top - 200); ///$(window).scrollTop(Math.round(posForScroll - 100)); $('html, body').animate({ 'scrollTop': posForScroll}, 500, 'swing'); }); //кнопка показа формы обратной связи в декстопе. $('#backFormClick').on('click', function(){ $('#backFormContent').html($('.backMessage').html()); $('#backFormContent').slideToggle(); }); //кнопка отправки формы обратной связи из мобильной версии $('.smallHeaderSub').on('click', function(elm){ //console.log(elm.target.id); if (elm.target.id == 'msg_send' ) { sendMessage('.smallHeaderSub'); } }); //кнопка отправки формы обратной связи из десктопной версии $('#backFormContent').on('click', function(elm){ //console.log(elm.target.id); if (elm.target.id == 'msg_send' ) { sendMessage('#backFormContent'); } }); //непосредственно процесс отправки сообщения function sendMessage(parentElem){ //console.log(parentElem); var formData = new FormData(); //div.smallHeaderSub formData.append('production', $(parentElem + ' #msg_prod').val()); formData.append('vopros', $(parentElem + ' #msg_vopros').val()); formData.append('contact', $(parentElem + ' #msg_cont').val()); formData.append('id1', $(parentElem + ' #msg_id1').val()); formData.append('id2', $(parentElem + ' #msg_id2').val()); //console.log(formData); $.ajax({ type: 'POST', url: '/msg.php', cache: false, contentType: false, processData: false, data: formData, dataType: 'text', success: function(msg){ //console.dir(msg); if (msg == '') {alert('Сообщение отправлено!');} else {alert(msg);} }, error: function (jqXHR, exception) { console.dir(jqXHR); console.dir(exception); if (jqXHR.status === 0) { alert('Not connect. Verify Network.');} else if (jqXHR.status == 404) { alert('Requested page not found (404).');} else if (jqXHR.status == 500) { alert('Internal Server Error (500).');} else if (exception === 'parsererror') { alert('Requested JSON parse failed.');} else if (exception === 'timeout') { alert('Time out error.');} else if (exception === 'abort') { alert('Ajax request aborted.');} else { alert('Uncaught Error. ' + jqXHR.responseText); } } }); } });