Здравствуйте!
Помогоите, пожалуйста, разобраться в скрипте меню "Dtree". При выводе через него на страницу большого меню (около 2000 пунктов) IE всех версий ругаются, что скрипт на данной странице может вызвать зависание браузера и спрашивает продолжить выполнение или нет. Если нажать продолжить - скрипт работает, но нужно сделать чтоб это предупреждение не показывалось.
Думаю сделать пошаговый вывод меню, но очень плаваю в javascript
Помогите, пожалуйста...
Если не ошибаюсь, то формирование происходит именно здесь. Как бы поставить сюда задержку или вывод не сразу, а с интервалом маленьким частями?
// Outputs the tree to the page
dTree.prototype.toString = function() {
var str = '<div class="dtree">\n';
if (document.getElementById) {
if (this.config.useCookies) this.selectedNode = this.getSelected();
str += this.addNode(this.root);
} else str += 'Browser not supported.';
str += '</div>';
if (!this.selectedFound) this.selectedNode = null;
this.completed = true;
return str;
};
// Creates the tree structure
dTree.prototype.addNode = function(pNode) {
var str = '';
var n=0;
if (this.config.inOrder) n = pNode._ai;
for (n; n<this.aNodes.length; n++) {
if (this.aNodes[n].pid == pNode.id) {
var cn = this.aNodes[n];
cn._p = pNode;
cn._ai = n;
this.setCS(cn);
if (!cn.target && this.config.target) cn.target = this.config.target;
if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id);
if (!this.config.folderLinks && cn._hc) cn.url = null;
if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) {
cn._is = true;
this.selectedNode = n;
this.selectedFound = true;
}
str += this.node(cn, n);
if (cn._ls) break;
}
}
return str;
};