Перейти к содержанию

Рекомендуемые сообщения

Здравствуйте! Нужно создать появляющееся меню как здесь http://mobilak-spb.ru/

При прокрутке сайта вниз наверху появляется фиксированное меню. Как такое сделать???

А еще туда надо добавить эти категории

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну к примеру так.

Стили и верстку думаю сами скопируете

<script type="text/javascript">
function menu_top(){
	    var scroll_menu = $(document).scrollTop();
	    if(scroll_menu > 400) --->>> Свое значение
		    $("#fixed-menu").removeClass("hidden");
	    else
	        $("#fixed-menu").addClass("hidden");
	}
	$(document).scroll(function(){
	    menu_top();
	})
</script>

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
48 минут назад, legioner26 сказал:

Ну к примеру так.

Стили и верстку думаю сами скопируете

 

 

мне кажется более оптимальное решение такого плана

 

var menu = $(".menuclass");
             
$(window).scroll(function(){
            if ( $(this).scrollTop() > 100 && menu.hasClass("default") ){
			menu.removeClass("default").addClass("fixed");
            } else if($(this).scrollTop() <= 100 && menu.hasClass("fixed")) {
			menu.removeClass("fixed").addClass("default");
        }
});  	

это позволит использовать одно меню, просто классами его разруливать, ну во всяком случае я так делаю

 

возможно ваше решение работает быстрее, но мне кажется что дергать функцию каждый раз при скролле более накладно чем проверять позицию элемента при скролле

 

UPDATE

 

на примере используется плагин

https://www.smartmenus.org/

Изменено пользователем spectre

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваше решение тоже хорошее. Но я за то, чтобы за каждую процедуру отвечала своя функция. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда гора кода так легче понять что и где.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может я и не прав хз :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да и к премеру если чуть подправить ее, то можно передвать в нее хоть 100 меню :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@spectre верстать могишь?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На то она и функция :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спора нет. Для одноразового использования ваше решение актуальнее моего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
32 минуты назад, AWARO сказал:

@spectre верстать могишь?)

Не, верстка тупая тема, сам ищу верстальщика) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, spectre сказал:

Не, верстка тупая тема, сам ищу верстальщика) 

я тоже ищу тупицу )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, shabdanff сказал:

Здравствуйте! Нужно создать появляющееся меню как здесь http://mobilak-spb.ru/

При прокрутке сайта вниз наверху появляется фиксированное меню. Как такое сделать???

А еще туда надо добавить эти категории

ссылку бы хоть оставили, какие эти категории? сторонние ссылки есть там?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

moskva.paschaopencart.ru

Разрешаю скопипастить )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

возможно я туплю, но зачем js?

<nav id="menu" class="navbar affix-top"  data-spy="affix" data-offset-top="циферка в пикселях с которой начинается фиксация">

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Slavec86
      Добрый день уважаемые форумчане! Прошу помощи в решении вопроса вывода промо-товара в выпадающее меню opencart. C php я сильно на "Вы", но вот к чему пришел:
      id товара задается в админке и сохраняется в базу в столбец promo_tovar
       
      в контроллере header.php я выуживаю его здесь
       
      $this->data['categories'][] = array(
      'name'     => $category['name'], 'promo_tovar'     => $category['promo_tovar'], 'children' => $children_data, 'column'   => $category['column'] ? $category['column'] : 1, 'href'     => $this->url->link('product/category', 'path=' . $category['category_id']) );   при выводе в шаблон <?php echo $category['promo_tovar']; ?> в каждом меню выводится корректная цифра, и если кнопке купить присвоить это выражение, то и товар нужный в корзину падает (onclick="addToCart('<?php echo $category['promo_tovar']; ?>');")   но если пытаюсь присвоить это значение так  $this->data['promo'] = $product_info = $this->model_catalog_product->getProduct($category['promo_tovar']);   чтобы иметь возможность вывести товар соответствующий сохраненному id так <?php echo $promo['name']; ?>, то ничего не выходит(((( Что делаю не так? Сайт: http://konstruiruem.ru
    • От seregane
      Как добавить меню, в верху сайта там где корзина, телефон, мне нужно добавить туда пункт меню с произвольным контетом.

    • Гость
      От Гость
      Добрый день, дорогие форумчане! Есть меню вот такого типа:

      Как сделать подкатегории таким же меню?

      Код меню:


      <div class="container"> <div class="row menu-line"> <div class="col-sm-12 col-md-7 col-md-push-3"><?php echo $search; ?></div> <div class="col-sm-6 col-sm-push-6 col-md-2 col-md-push-3"><?php echo $cart; ?></div> <div class="col-sm-6 col-sm-pull-6 col-md-3 col-md-pull-9"> <?php if ($categories) { ?> <nav id="menu" class="btn-group btn-block"> <button type="button" class="btn btn-danger btn-block dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-bars"></i> <?php echo $text_category; ?> </button> <ul id="menu-list" class="dropdown-menu"> <?php foreach ($categories as $category) { ?> <?php if ($category['children']) { ?> <li> <span class="toggle-child"> <i class="fa fa-plus plus"></i> <i class="fa fa-minus minus"></i> </span> <a class="with-child" href="<?php echo $category['href']; ?>"> <i class="fa fa-angle-right arrow"></i> <?php echo $category['name']; ?> </a> <?php if ($category['column'] < 2) { ?> <?php $col_class = 'col-md-12'; ?> <?php $box_class = 'box-col-1'; ?> <?php $cols_count = 1; ?> <?php } elseif ($category['column'] == 2) { ?> <?php $col_class = 'col-md-6'; ?> <?php $box_class = 'box-col-2'; ?> <?php $cols_count = 2; ?> <?php } else { ?> <?php $col_class = 'col-md-4'; ?> <?php $box_class = 'box-col-3'; ?> <?php $cols_count = 3; ?> <?php } ?> <div class="child-box <?php echo $box_class; ?>"> <div class="row"> <?php $i = 0; ?> <?php foreach ($category['children'] as $child) { ?> <div class="<?php echo $col_class; ?>"> <div class="child-box-cell"> <h5> <?php if($child['children2']) {?> <span class="toggle-child2"> <i class="fa fa-plus plus"></i> <i class="fa fa-minus minus"></i> </span> <?php } ?> <a href="<?php echo $child['href']; ?>" class="<?php if($child['children2']) {echo 'with-child2';}?>"><span class="livel-down visible-xs-inline">↳</span><?php echo $child['name']; ?></a></h5> <?php if($child['children2']) {?> <ul class="child2-box"> <?php foreach ($child['children2'] as $child2) { ?> <li><a href="<?php echo $child2['href']; ?>"><span class="livel-down">↳</span><?php echo $child2['name']; ?></a></li> <?php } ?> </ul> <?php } ?> </div> </div> <?php $i++; ?> <?php if (($i == $cols_count) &($i != 1)) { ?> <div class="clearfix visible-md visible-lg"></div> <?php $i = 0; ?> <?php } ?> <?php } ?> </div> </div> </li> <?php } else { ?> <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li> <?php } ?> <?php } ?> <?php if ($add_category_menu_toggle) {?> <?php foreach ($add_category_menu as $item) { ?> <li><a href="<?php echo $item['link'][$language_id]; ?>"><?php echo html_entity_decode($item['title'][$language_id], ENT_QUOTES, 'UTF-8'); ?></a></li> <?php } ?> <?php }?> </ul> </nav> <div id="menuMask"></div> <?php } ?> </div> </div> </div>
    • От mobily
      Приветствую вас!
       
      Передо мной стоит весьма не тривиальная задача заставить работать любой из динамических элементов дизайна магазина в отдельных файлах (основное меню, футер, блок корзины и тд).
       
      С html - кодом все прекрасно, но вот с php проблема. 
       
      К примеру, я копирую див с меню из хедера темы и помещаю его в отдельный php файл:
      <!-- ---------------------- --> <!-- M A I N N A V --> <!-- ---------------------- --> <div class="s_wrap"> <div class="s_col_12"> <div id="categories" class="s_nav"> <?php echo $tbData->menuHTML; ?> </div> <?php if ($tbData->common['cart_menu_position'] == 'right' && $tbData->common['checkout_enabled']): ?> <?php $cart_contents = $tbData->getCartContents(); ?> <div id="cart_menu" class="s_nav"> <a href="<?php echo $shopping_cart; ?>"> <span class="s_icon"></span> <?php if ($tbData->common['show_cart_label'] == '1'): ?> <small class="s_text"><?php echo $tbData->text_cart;?></small> <?php endif; ?> <span class="s_grand_total s_main_color"><?php echo strip_tags($cart_contents['total_sum']); ?></span> </a> <div class="s_submenu s_cart_holder"> <?php echo $cart_contents['html']; ?> </div> </div> <?php endif; ?> </div> </div> <!-- end of main navigation --> Понятно, что при попытке открыть файл в браузере сыпятся ошибки, ( http://mobily.com.ua/h/h-mainnav.php )так как требуется подключить еще кучу всего, что бы оно работало, но какие бы варианты я не пробовал - не получается.
       
      Буду невероятно признателен вам за любую помощь.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.