prevratnik Posted November 5, 2014 Report Share Posted November 5, 2014 Всем привет!Такая вот проблемка, помогите, пожалуйста.Пытаюсь создать дополнительное выпадающее меню товаров.Проблема в том, что при подключении javascript или jquery к обоим менюшкам они работают только на первом.Как исправить эту проблему? Quote Link to post Share on other sites
yr4ik Posted November 5, 2014 Report Share Posted November 5, 2014 Всем привет!Такая вот проблемка, помогите, пожалуйста.Пытаюсь создать дополнительное выпадающее меню товаров.Проблема в том, что при подключении javascript или jquery к обоим менюшкам они работают только на первом.Как исправить эту проблему? Здравствуйте! У меня тоже такая проблема. Я сажаю огурцы в унитазе, а они корни в раковине пускают. В чем проблема?) PS: Это не форум экстрасенсов. Покажите код и сайт (если есть возможность) Quote Link to post Share on other sites
Noxter Posted November 5, 2014 Report Share Posted November 5, 2014 Помню я схожий вопрос задавал года 4 назад... Quote Link to post Share on other sites
Kors Posted November 6, 2014 Report Share Posted November 6, 2014 Помню я схожий вопрос задавал года 4 назад...Схожий с чем - с вопросом про меню или вопросом про огурцы? Ссылочку бы дали... Quote Link to post Share on other sites
prevratnik Posted November 6, 2014 Author Report Share Posted November 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)--> Quote Link to post Share on other sites
yr4ik Posted November 6, 2014 Report Share Posted November 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 Quote Link to post Share on other sites
prevratnik Posted November 6, 2014 Author Report Share Posted November 6, 2014 Спасибо! Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.