Создание фиксированного меню
В этот раз я покажу как достаточно легко и просто с помощью jQuery и CSS сделать меню сайта PrestaShop фиксированным в верхней части сайта при прокрутке страницы.Сделать это достаточно просто. Для начала необходимо определить класс блока в котором находится наше меню. Для этого я воспользуюсь инструментом разработчика в Chrome. На блоке меню нажимаем правую кнопку мышки и в появившемся окне инструмента находим class
В данном случае пример на штатном шаблоне PrestaShop версии 1.6.0.9 и как видим на картинке наш класс sf-menu
Далее необходимо разместить код jQuery в самом низу файла header.tpl вашего шаблона
1
2
3
4
5
6
7
8
9
10
11
12
13
|
jQuery("document").ready(function($){
var nav = $('.sf-menu');
$(window).scroll(function () {
if ($(this).scrollTop() > 136) {
nav.addClass("f-nav");
} else {
nav.removeClass("f-nav");
}
});
});
|
Поясняю. как видно из кода в скрипте назначается постоянная var nav = $(‘.sf-menu’); для класса блока нашего меню. При скролле мышкой если расстояние от верхней токи сайта будет превышать 136px срабатывает CSS со стилям класса f-nav.
Добавим далее эти стили.
1
|
.f-nav{ z-index: 9999; position: fixed; left: 0; top: 0; width: 100%;}
|
Вот и все. Вы можете воспользоваться моим примером или бесплатным модулем, который я подготовил специально для этой статьи.
До встречи на webnewbie.ru
Простите за глупый вопрос, только учусь, как вы сделали центрирование меню по горизонтали, у меня никак не получается, подскажите где копать?
В конце статьи указаны стили [php]z-index: 9999; position: fixed; left: 0; top: 0; width: 100%;[/php]
Я не правильно выразился, как сделать так чтобы пункты меню-вкладки были отцентрированы по горизонтали, а не смещались влево
Вкладки и не смещаются влево, а растягивается блок меню целиком. Поиграйте со стилями left и width, например, left:80px; width:90%
Как в меню добавить блок, как у вас в простом меню нету поиска, а в фиксированном есть и лого у вас тоже меняется. Как вы это реализовали?
Это все уже было реализовано в шаблоне который я установил.
Добрый день. Второй глупый вопрос: в какой файл нужно добавить строку .f-nav{ z-index: 9999; position: fixed; left: 0; top: 0; width: 100%;} ?
Стили можно добавить в файл global.css шаблона магазина