Приветствую форумчане, имеется сайт на котором создано динамическое меню. Сайт написан человеком, которого уже давно след простыл и соответственно что от куда растет понять уже крайне сложно, но не суть. В один прекрасный момент в "кишках" сайта покопался один умелец, после чего меню стало себя неадекватно вести. Собственно не посчитайте за рекламу, ссылка страницы где это меню вот (меню слева)
http://service-group.spb.ru/catalog. Скрипт отвечающий за динамику меню (я так понимаю - это он) вот
define(["jquery", "plugins/busy/busy.jquery"], function(jquery){
// ID of the current catalog
var catalogId = false;
function loadProducts(_catalogId, page){
// summary:
// Sends ajax request and loads products to productList HTML Element
var productList = jquery("#productList");
productList.parent().busy();
jquery.ajax({
url : "/products/" + _catalogId + "/" + (page||0),
cache : false
}).then(function(data){
catalogId = _catalogId;
productList.html(data);
productList.parent().busy('hide');
});
}
return function(){
// Binds catalog menu open / close events
$("#catalogMenu").on("click", "li", function(){
var $this = jquery(this),
opened = $this.data("opened");
if($this.attr('data-level') == 0){
var el = $this.siblings("[data-level=0]").filter('[data-opened]');
el.nextUntil("[data-level=" + $this.attr("data-level")+ "]").hide("fast").end().removeData("opened").removeAttr('data-opened');
}
if(opened){
$this.nextUntil("[data-level=" + $this.attr("data-level")+ "]").hide("fast").end().removeData("opened").removeAttr('data-opened');
}else{
$this.nextAll("[data-parent-id=" + $this.attr("data-id") + "]").show("fast").end().data("opened", true).attr('data-opened', true);
}
});
var productList = jquery("#productList");
$("#catalogMenu").on("click", "li.no-children", function(){
$("html, body").animate({ scrollTop: 0 }, "slow");
loadProducts(jquery(this).attr('data-id'));
});
productList.on("click", "ul.paging li", function(){
loadProducts(catalogId, jquery(this).attr('data-page'));
});
if(window.maykong && (catalogId = window.maykong.catalogId)){
var $mi = $("#catalogMenu").find("[data-id=" + catalogId + "]"),
pid = $mi.attr("data-parent-id");
$mi.nextAll("[data-parent-id=" + pid + "]").show().end().prevUntil("[data-level=0]").andSelf().show().end().end().data("opened", true);
loadProducts(catalogId);
}
}
});
При нажатии в меню на категорию, меню должно раздвигаться и там список подкатегорий. Но меню раздвигается и тут же закрывается обратно, в коде вроде все верно, но что случилось ума не прилажу =( Помогите найти этот "гвоздь"