Показать сообщение отдельно
  #17 (permalink)  
Старый 19.06.2012, 20:00
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zevilz
Если честно, так нифига и не понял как эти кукисы приделать к скрипту... Сильно не пинайте, я только учусь. Каким то образом сохранилось одно положение в меню и после перезагрузки берется из куки.
$(function(){

        var nav = $("#nav_menu_content"),
            uls = nav.find("ul");

        // тут получаем индексы из куки и перебираем их:
        var showedElems = ( getcookie( "MENU" ) || "" ).split(",");

        for( var i = 0; i < showedElems.length; i++ ) {
            // отображаем при загрузке то что надо.
            $( uls[ showedElems[ i ] ] ).show();
        }

        nav.find("a").click(function() {

            var self = $(this).next();

            if ( self.length  > 0 ) {

                var showedElems = [];

                uls.each(function( index ){

                    if ( this === self[0] ) {
                        if ( self.css('display') == "none" ) {
                            showedElems[ showedElems.length ] = index;
                        }
                        $( this ).slideToggle( 200 );
                    } else if ( jQuery.inArray( this, self.parents( "ul" ) ) == -1 ) {
                        $( this ).slideUp( 200 );
                    } else {
                        showedElems[ showedElems.length ] = index;
                    }
                });

                // вот эту переменную со строкой засуньте в куки,
                // примерно так:
                setcookie( "MENU", showedElems.join(",") ,3600*24*1000 );

                return false;
            }

        });

    });
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 19.06.2012 в 22:08.
Ответить с цитированием