2014-08-18 2 views
0

В настоящее время я работаю над небольшим интерфейсом, для которого я использую очень простое шоу и скрываю скрипт.jquery cookie для show hide script

$(document).ready(function(){ 
     $("#hide").click(function(){ 
     $(".advanced").hide(); 
     $(".basic").show(); 
     }); 
     $("#show").click(function(){ 
     $(".advanced").show(); 
     $(".basic").hide(); 
     }); 
    }); 

Целью этого является скрыть и показать определенный элемент в навигации (основной и расширенный вид, если можно так выразиться). Теперь мой вопрос заключается в том, как я могу объединить это с плагином для файлов cookie? Я бы хотел, чтобы предпочтение сохранялось и не всегда возвращалось к «основному» виду, если я перехожу на другую страницу.

Большое спасибо, Daniel

+0

она должна быть такой же, даже если закрыть borwser и снова открыть его? – Dwza

+0

В настоящее время страница начинается с «основного вида» - если я «переключись» на «расширенный вид», откроются дополнительные кнопки, однако, если я открою другую страницу или перезагрузите текущую, она вернется к «основной» ». – dvoip

+0

Рассматривали ли вы использование локального хранилища для этого? http://www.smashingmagazine.com/2010/10/11/local-storage-and-how-to-use-it/ – soupy1976

ответ

2

Может вы посмотрите на LocalStorage (на немецком языке, не может найти некоторые на английском языке)

Вот некоторые в английском тоже LocalStorage EN

(поскольку не все люди допускают наркотики)

Вы можете хранить данные как

localStorage.setItem("key", "value"); 

localStorage.getItem("key"); 

Working Fiddle (способ, как вы могли бы это сделать)

$(document).ready(function() { 

    $(".advanced").css('display', localStorage.getItem('advanced')); 
    $(".basic").css('display', localStorage.getItem('basic')); 

    $("#hide").click(function() { 
     $(".advanced").hide(); 
     $(".basic").show(); 
     localStorage.setItem('advanced', 'none'); 
     localStorage.setItem('basic', 'block'); 
    }); 

    $("#show").click(function() { 
     $(".advanced").show(); 
     $(".basic").hide(); 
     localStorage.setItem('advanced', 'block'); 
     localStorage.setItem('basic', 'none'); 
    }); 
}); 
+0

именно то, что я хотел написать +1 –

+0

Большое спасибо, я дам этот метод попробуйте! – dvoip

-1
$(document).ready(function(){ 
    if($.cookie("show")==1){ 
    $(".advanced").show(); 
    $(".basic").hide(); 
    } else{ 
    $(".advanced").hide(); 
    $(".basic").show(); 
    } 
    $("#hide").click(function(){ 
    $(".advanced").hide(); 
    $(".basic").show(); 
    $.cookie("show", 0); 
    }); 
    $("#show").click(function(){ 
    $(".advanced").show(); 
    $(".basic").hide(); 
    $.cookie("show", 1); 
    }); 
}); 
0

Использование JQuery's COOKIE plugin:

$(document).ready(function(){ 
    if ($.cookie("state") == "hide") { 
     $("#hide").click(); 
    } else { 
     $("#show").click(); 
    } 
    $("#hide").click(function(){ 
     $.cookie("state", "hide"); 
     $(".advanced").hide(); 
     $(".basic").show(); 
    }); 
    $("#show").click(function(){ 
     $.cookie("state", "show"); 
     $(".advanced").show(); 
     $(".basic").hide(); 
    }); 
}); 
+0

Здравствуйте, большое спасибо за ваше предложение. Я пробовал этот метод, но, похоже, он не работает на моем конце – dvoip

+0

Что не работает? – Noy