Ответов: 0 Просмотров: 801
|
Есть такой код, дерево строится нормально но состояние не сохраняется добавил кукисы, но почемуто не работает помогите кто хорошо разбирается в Ajax
CODE ( htmlphp):
скопировать код в буфер обмена
$(document).ready(function() { /*построение вида*/ $('#menu').each(function(o) { var o = $.extend(o); var tree=$(this); tree.addClass('tree').children('li:first').prepend('<div class="first"></div>'); tree.children('li:last').addClass('last'); tree.find('ul').each(function() { $(this).children('li:last').addClass('last'); }).prev('a').addClass('folder'); /*конец построение вида*/ $('ul#menu ul').each(function(i){ if ($.cookie('submenuMark-' + i)) { // If index of submenu is marked in cookies: $(this).show().prev().removeClass('openTree').addClass('minus'); // Show it (add apropriate classes) }else { $(this).hide().prev().removeClass('minus').addClass('openTree'); // Hide it } }); /*закрыт или открыт*/ if (o.classTree) tree.addClass(o.classTree); tree.find('a.folder').before('<span class="show"></span>'); tree.find('span').click(openTree); if (o.closeFolders) { tree.find('ul').hide(); } else { tree.find('.folder').addClass('open').prev('span').addClass('minus'); } }); /*функция открытия дерева*/ function openTree(){ var button = $(this); var link = button.next(); var files = link.next('ul'); if (link.hasClass('open')) { files.hide(); cookieDel(this_i); } else { files.show(); cookieSet(this_i); } link.toggleClass('open'); button.toggleClass('minus'); return false; } function cookieSet(index) { $.cookie('submenuMark-' + index, 'open', {expires: null, path: '/'}); // Set mark to cookie (submenu is shown): } function cookieDel(index) { $.cookie('submenuMark-' + index, null, {expires: null, path: '/'}); // Delete mark from cookie (submenu is hidden): } });
|