prevratnik Опубликовано 5 ноября, 2014 Жалоба Поделиться Опубликовано 5 ноября, 2014 Всем привет!Такая вот проблемка, помогите, пожалуйста.Пытаюсь создать дополнительное выпадающее меню товаров.Проблема в том, что при подключении javascript или jquery к обоим менюшкам они работают только на первом.Как исправить эту проблему? Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 5 ноября, 2014 Жалоба Поделиться Опубликовано 5 ноября, 2014 Всем привет!Такая вот проблемка, помогите, пожалуйста.Пытаюсь создать дополнительное выпадающее меню товаров.Проблема в том, что при подключении javascript или jquery к обоим менюшкам они работают только на первом.Как исправить эту проблему? Здравствуйте! У меня тоже такая проблема. Я сажаю огурцы в унитазе, а они корни в раковине пускают. В чем проблема?) PS: Это не форум экстрасенсов. Покажите код и сайт (если есть возможность) Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 ноября, 2014 Жалоба Поделиться Опубликовано 5 ноября, 2014 Помню я схожий вопрос задавал года 4 назад... Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 6 ноября, 2014 Жалоба Поделиться Опубликовано 6 ноября, 2014 Помню я схожий вопрос задавал года 4 назад...Схожий с чем - с вопросом про меню или вопросом про огурцы? Ссылочку бы дали... Цитата Ссылка на сообщение Поделиться на другие сайты
prevratnik Опубликовано 6 ноября, 2014 Автор Жалоба Поделиться Опубликовано 6 ноября, 2014 <!DOCTYPE html> {* Общий вид страницы Этот шаблон отвечает за общий вид страниц без центрального блока. *} <html> <head> <base href="{$config->root_url}/"/> <title>{$meta_title|escape}</title> {* Метатеги *} <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="description" content="{$meta_description|escape}" /> <meta name="keywords" content="{$meta_keywords|escape}" /> <meta name="viewport" content="width=1024"/> <meta name="cypr-verification" content="a2b5435755015081f78f9b9ef3433820"/> {* Канонический адрес страницы *} {if isset($canonical)}<link rel="canonical" href="{$config->root_url}{$canonical}"/>{/if} {* Стили *} <link href="design/{$settings->theme|escape}/css/style.css" rel="stylesheet" type="text/css" media="screen"/> <link href="design/{$settings->theme|escape}/images/favicon.ico" rel="icon" type="image/x-icon"/> <link href="design/{$settings->theme|escape}/images/favicon.ico" rel="shortcut icon" type="image/x-icon"/> <link href="design/{$settings->theme|escape}/css/nivo-slider.css" rel="stylesheet" type="text/css" media="screen"/> <link href="design/{$settings->theme|escape}/css/default.css" rel="stylesheet" type="text/css" media="screen"/> {* JQuery *} <script src="js/jquery/jquery.js" type="text/javascript"></script> <script type="text/javascript" src="design/{$settings->theme|escape}/js/jscroller-0.4.js"></script> {* Всплывающие подсказки для администратора *} {if $smarty.session.admin == 'admin'} <script src ="js/admintooltip/admintooltip.js" type="text/javascript"></script> <link href="js/admintooltip/css/admintooltip.css" rel="stylesheet" type="text/css" /> {/if} {* Ctrl-навигация на соседние товары *} <script type="text/javascript" src="js/ctrlnavigate.js"></script> {* Аяксовая корзина *} <script src="design/{$settings->theme}/js/jquery-ui.min.js"></script> <script src="design/{$settings->theme}/js/ajax_cart.js"></script> {* js-проверка форм *} <script src="js/baloon/js/baloon.js" type="text/javascript"></script> <link href="js/baloon/css/baloon.css" rel="stylesheet" type="text/css" /> {* Автозаполнитель поиска *} {literal} <script src="js/autocomplete/jquery.autocomplete-min.js" type="text/javascript"></script> <style> .autocomplete-suggestions{ background-color: #ffffff; overflow: hidden; border: 1px solid #e0e0e0; overflow-y: auto; } .autocomplete-suggestions .autocomplete-suggestion{cursor: default;} .autocomplete-suggestions .selected { background:#F0F0F0; } .autocomplete-suggestions div { padding:2px 5px; white-space:nowrap; } .autocomplete-suggestions strong { font-weight:normal; color:#3399FF; } </style> <script> $(function() { // Автозаполнитель поиска $(".input_search").autocomplete({ serviceUrl:'ajax/search_products.php', minChars:1, noCache: false, onSelect: function(suggestion){ $(".input_search").closest('form').submit(); }, formatResult: function(suggestion, currentValue){ var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'); var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')'; return (suggestion.data.image?"<img align=absmiddle src='"+suggestion.data.image+"'> ":'') + suggestion.value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } }); }); </script> <script type="text/javascript"> $(document).ready(function(){ // Add Scroller Object $jScroller.add("#scroller_container","#scroller","left",10, true); // Start Autoscroller $jScroller.start(); }); </script> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter26364255 = new Ya.Metrika({id:26364255, clickmap:true, trackLinks:true, accurateTrackBounce:true}); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <!-- /Yandex.Metrika counter --> <script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script> <!-- menu --> <script type="text/javascript"> $(function() { var menu2_ul = $('.menu2 > li > ul'), menu2_a = $('.menu2 > li > a'); menu2_ul.hide(); menu2_a.click(function(e) { e.preventDefault(); if(!$(this).hasClass('active')) { menu2_a.removeClass('active'); menu2_ul.filter(':visible').slideUp('normal'); $(this).addClass('active').next().stop(true,true).slideDown('normal'); } else { $(this).removeClass('active'); $(this).next().stop(true,true).slideUp('normal'); } }); }); </script> <!--/ menu --> {/literal} </head> <body> <!-- Верхняя строка --> <div id="top_background"> <div id="toptop"> <!-- Вход пользователя --> <div id="account"> <img id="ai" src="design/{$settings->theme|escape}/images/key.png"> {if $user} <span id="username"> <a href="user">{$user->name}</a>{if $group->discount>0}, ваша скидка — {$group->discount}%{/if} </span> <a id="logout" href="user/logout">выйти</a> {else} <a id="login" href="user/login">Вход</a> | <a id="register" href="user/register">Регистрация</a> {/if} </div> <!-- Вход пользователя (The End)--> <!-- Корзина --> <div id="cart_informer"> <img id="cii" src="design/{$settings->theme|escape}/images/nothing.png"> {* Обновляемая аяксом корзина должна быть в отдельном файле *} {include file='cart_informer.tpl'} </div> <!-- Корзина (The End)--> </div> <div id="top"> <!-- Шапка --> <div id="header"> <a href="/"><img id="avtolog" src="design/{$settings->theme|escape}/images/avto.png" title="{$settings->site_name|escape}" alt="{$settings->site_name|escape}"/></a> <div id="logo"> <a href="/"><img src="design/{$settings->theme|escape}/images/logo.png" title="{$settings->site_name|escape}" alt="{$settings->site_name|escape}"/></a> </div> </div> <!-- Шапка (The End)--> <!-- Меню --> <div id="dmenu"> <ul id="menu"> <li> <a href="/">О компании</a> </li> <!-- Меню каталога --> {* Рекурсивная функция вывода дерева категорий *} {function name=categories_tree} {if $categories} <ul> {foreach $categories as $c} {* Показываем только видимые категории *} {if $c->visible} <li> {if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if} <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->meta_title|escape}</a> {categories_tree categories=$c->subcategories} </li> {/if} {/foreach} </ul> {/if} {/function} {categories_tree categories=$categories} <!-- Меню каталога (The End)--> {foreach $pages as $p} {* Выводим только страницы из первого меню *} {if $p->menu_id == 1} <li {if $page && $page->id == $p->id}class="selected"{/if}> <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a> </li> {/if} {/foreach} </ul> </div> <!-- Меню (The End) --> </div> <div id="top-cent"> <div id="Dsearch"> <!-- Поиск--> <div id="search"> <form action="products"> <input class="input_search" type="text" name="keyword" value="{$keyword|escape}" placeholder="Поиск товара"/> <input class="button_search" value="Найти" type="submit" /> </form> <div id="searshTT"> </div> </div> <!-- Поиск (The End)--> <div id="scroller_container"> <div id="scroller"> <!-- Меню блога --> {* Выбираем в переменную $last_posts последние записи *} {get_posts var=last_posts limit=5} {if $last_posts} <div id="blog_menu"> {foreach $last_posts as $post} <ul> <li data-post="{$post->id}"> {$post->date|date} <a href="blog/{$post->url}">{$post->name|escape}</a></li> </ul> {/foreach} </div> {/if} <!-- Меню блога (The End) --> </div> </div> </div> </div> </div> <!-- Верхняя строка (The End)--> <div class="slider-wrapper theme-default"> <div class="ribbon"></div> <div id="slider" class="nivoSlider"> {foreach name=page from=$pages item=p} {if $p->menu_id == 3} <a href="{if $p->link}{$p->link}{else}{$p->url}{/if}"><img src="files/pages/{$p->image}" alt="" title="{$p->meta_description|escape}" /></a> {/if} {/foreach} </div> </div> <script type="text/javascript" src="design/{$settings->theme|escape}/js/jquery.nivo.slider.pack.js"></script> <script type="text/javascript"> var now=new Date() var num=(now.getSeconds())%10 var num=num+1 $(window).load(function() { $('#slider').nivoSlider({ effect: 'random', startSlide: num, controlNavThumbs:true, controlNavThumbsFromRel:true }); }); </script> <!-- Вся страница --> <table id="main"><tr> <td id="left"><div id="left_d" class="menu2"> <!-- Меню каталога --> {* Рекурсивная функция вывода дерева категорий *} {function name=categories_tree} {if $categories} <ul> {foreach $categories as $c} {* Показываем только видимые категории *} {if $c->visible} <li> {if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if} <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->meta_title|escape}</a> {categories_tree categories=$c->subcategories} </li> {/if} {/foreach} </ul> {/if} {/function} {categories_tree categories=$categories} <!-- Меню каталога (The End)--> </div></td> <!-- Основная часть --> <td id="right"><div id="content"> {$content} </div></td> <!-- Основная часть (The End) --> </tr></table> <!-- Вся страница (The End)--> Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 6 ноября, 2014 Жалоба Поделиться Опубликовано 6 ноября, 2014 У вас ошибка тут: var menu2_ul = $('.menu2 > li > ul'), menu2_a = $('.menu2 > li > a');Не хватает > ul. Поскольку menu2 - это див который оборачивает ul li.Нужно так:var menu2_ul = $('.menu2 > ul > li > ul'), menu2_a = $('.menu2 > ul > li > a');Ну это так себе реализация. По сути она будет работать только для каталога с уровнями не выше 2-х.Так же было бы удобно предусмотреть открытие списка если выбрана дочерняя категория... И когда выкладываете коды на форуме. Желательно их помещать в тег code Цитата Ссылка на сообщение Поделиться на другие сайты
prevratnik Опубликовано 6 ноября, 2014 Автор Жалоба Поделиться Опубликовано 6 ноября, 2014 Спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.