Перейти к содержанию
Официальный форум поддержки Simpla

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

Всем привет!

Такая вот проблемка, помогите, пожалуйста.

Пытаюсь создать дополнительное выпадающее меню товаров.

Проблема в том, что при подключении javascript или jquery к обоим менюшкам они работают только на первом.

Как исправить эту проблему?

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

Всем привет!

Такая вот проблемка, помогите, пожалуйста.

Пытаюсь создать дополнительное выпадающее меню товаров.

Проблема в том, что при подключении javascript или jquery к обоим менюшкам они работают только на первом.

Как исправить эту проблему?

 

Здравствуйте! У меня тоже такая проблема. Я сажаю огурцы в унитазе, а они корни в раковине пускают. В чем проблема?)

 

PS: Это не форум экстрасенсов. 

Покажите код и сайт (если есть возможность) 

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

Помню я схожий вопрос задавал года 4 назад...

Схожий с чем - с вопросом про меню или вопросом про огурцы? Ссылочку бы дали...
Ссылка на сообщение
Поделиться на другие сайты

<!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)-->




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

У вас ошибка тут: 

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

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...