/////////////////////////////////// /////// БЛОК ВЫЗОВА ФУНКЦИЙ /////// /////////////////////////////////// // DOM готов $("document").ready(function(){ // Аякс лента новостей GetAjaxNewsLine(); // Выпадающее меню DropMainNav(); // Анимация поиска ShowSearch(); // Проверка поля писка ChekSearchInput(); // FancyBox для картинок $(".fancybox-zoom").fancybox({ padding : 0, tpl : { closeBtn : '', next : '', prev : '' }, }) // Кнопка "Наверх" onTop(".to-top", 500, 200, 500); }) // Полная загрузка страницы $(window).load(function(){ // Динамическая высота центрального блока ChekNewsLine(); // Тоже самое только при ресайзе окна $(window).resize(function(){ ChekNewsLine(); }); }); /////////////////////////////////// // ФУНКЦИИ БЕЗ КОТОРЫХ ВОТ НИКАК // /////////////////////////////////// // Аякс подгрузка ленты новостей в центре экрана function GetAjaxNewsLine() { $('.ajax-news').click(function(e) { e.preventDefault(); if (!$(this).hasClass("selected")) { var current_title = $(this).text(); var id = $(this).attr('id'); var main_container = $("#ajax-news-line"); var title_container = $("#ajax-news-line .section-title p"); main_container.fadeToggle(200); $('.ajax-news').removeClass('selected'); $(this).addClass('selected'); if (parseInt(id)!= NaN) { section_id = [parseInt(id)]; iblock_id = [48,51]; all = 'N'; } if (id.indexOf("all-news2") == 0) { section_id = [662]; iblock_id = [48,51]; all = 'Y'; } $.post("/bitrix/templates/ugnovosti-new/front-page-ajax-news-line.php", {'SECTION_ID[]': section_id, 'IBLOCK_ID[]': iblock_id, 'ALL': all}, function (data) { banner = $('.banner-discount').html(); $('#ajax-news-line .ajax-wrapper').empty(); $('#ajax-news-line .ajax-wrapper').append(data); $('.banner-discount').html(banner); title_container.text(current_title); main_container.fadeToggle(400); }); } }); } // Выпадающее меню - основного меню function DropMainNav() { $(".has-sub-menu").hover(function(){ var sublevel = $(this).find("ul"); sublevel.css('left',0); $(this).toggleClass("open"); var sublevel_width = sublevel.outerWidth(); var container_left = $(this).position().left; var container_width = $(this).outerWidth(); var wrapper_width = $(this).parents("div").outerWidth(); if (sublevel_width < container_width) { sublevel_width = container_width; } if (wrapper_width < (sublevel_width+container_left)) { container_left = (container_left+container_width)-sublevel_width; } sublevel.css({ 'z-index' : -1, 'top' : 10 }); sublevel.css({ 'z-index' : 5, 'top' : 90, 'width' : sublevel_width, 'left' : container_left }); sublevel.stop(true,false).animate({ top: 69, opacity : 1 },150) },function(){ var sublevel = $(this).find("ul"); sublevel.stop(true,false).animate({ top: 90, opacity : 0 },250,function(){ $(this).css('z-index',-5); }); $(this).toggleClass("open"); }); } // При очень маленькой ширине экрана, скрываем текстовые элементы справа // в зависимости от длинны блока слева. // Т.е. если блок слева короче родителя из-за того что блок справа его растягивает, // скрываем последний видимый элемент текстового блока справа. function ChekNewsLine() { var container = $(".news-parts"); if (container.length) { var step = 60; var container_height = container.outerHeight(); var left_column = container.find(".column-left"); var left_column_height = container.find(".colum-left").outerHeight(); var center_column = container.find(".column-center"); var center_column_height = container.find(".column-center").outerHeight(); for (var i = center_column.find(".ajax-wrapper .item").length - 1; i >= 0; i--) { container_height = container.outerHeight(); left_column_height = container.find(".colum-left").outerHeight(); if (container_height > left_column_height) { center_column.find(".ajax-wrapper .item").not(".hidden").last().slideUp(300).addClass("hidden"); } }; if ($(window).width() > 600) { center_column.find(".item.hidden").slideDown(300).removeClass("hidden"); } } } // Анимационное отображение формы поиска при клике на "поиск" function ShowSearch() { $(".c_search_nav a").click(function(){ if (!$(this).hasClass("in-action")) { var link = $(this); link.toggleClass("in-action"); if (!link.hasClass("open")) { $(".c_filter_nav ul").stop(true,false).fadeToggle(250).closest(".c_filter_nav").find(".hidden_search").stop(true,false).delay(500).fadeToggle(100,function(){ link.toggleClass("in-action"); }); } else { $(".hidden_search").stop(true,false).fadeToggle(250).closest(".c_filter_nav").find("ul").stop(true,false).delay(500).fadeToggle(100,function(){ link.toggleClass("in-action"); }); } link.toggleClass("open"); } return false; }) } // Проверки поля поиска перед отправкой формы function ChekSearchInput() { $(".hidden_search button, .mini_search_form button, .common-s-form button").click(function(){ var button = $(this); if (button.closest("form").find("input").val()) { button.closest("form").submit(); } else { button.closest("form").find("input").focus(); return false; } }) } // Кнопка "Наверх" function onTop(btnClassName, aniSpeed, showInHeight, fadeSpeed) { jQuery(btnClassName).click(function() { jQuery("html, body").animate({ scrollTop: 0 }, aniSpeed); }) jQuery(window).scroll(function() { if (jQuery(window).scrollTop() > showInHeight) { jQuery(btnClassName).stop(true, false).fadeIn(fadeSpeed); } else { jQuery(btnClassName).stop(true, false).fadeOut(fadeSpeed); } }) }