Вход

Просмотр полной версии : Помогите найти ошибку в скрипте


SergeyZhuk
07.02.2013, 22:25
Приветствую форумчане, имеется сайт на котором создано динамическое меню. Сайт написан человеком, которого уже давно след простыл и соответственно что от куда растет понять уже крайне сложно, но не суть. В один прекрасный момент в "кишках" сайта покопался один умелец, после чего меню стало себя неадекватно вести. Собственно не посчитайте за рекламу, ссылка страницы где это меню вот (меню слева) 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);
}
}
});

При нажатии в меню на категорию, меню должно раздвигаться и там список подкатегорий. Но меню раздвигается и тут же закрывается обратно, в коде вроде все верно, но что случилось ума не прилажу =( Помогите найти этот "гвоздь"

SergeyZhuk
10.02.2013, 18:04
что, нет спецов? или запариваться не охото? =( досадно ...

Deff
10.02.2013, 18:11
SergeyZhuk,
Уберите самый нижний скрипт на странице
<SCRIPT LANGUAGE="JavaScript">
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "https://web.redhelper.ru/service/main.js?c=servicegroup";
script.charset="utf-8";
script.async="async";
script.id="rhlpscrtg";
head.appendChild(script);
</SCRIPT>

SergeyZhuk
10.02.2013, 18:24
Deff,
это скрипт на вставку онлайн чата, а как можно их совместить? или только убить чат??