У меня есть две html-страницы в моем веб-приложении, index.html и themes.html. У меня есть кнопка в topic.html, которая при щелчке должна сделать видимым скрытое Div в index.html, чтобы при перемещении к index.html Div должно быть видимым. Я понимаю, что это может быть достигнуто с помощью локального хранилища и windows.onload, как я могу включить его в свой код, который выглядит так
topics.html
<button id="show">Show</button>
и JS
$(document).ready(function(){
$("#show").click(function(){
$(".me").show();
});
});
Нажав кнопку #show, я хочу, чтобы Div ниже, который в настоящее время скрыт, становится видимым таким образом, что когда я перехожу к index.html, div отображается, и когда я нажимаю кнопку #hide, он должен оставаться включенным даже при перезагрузке страницы
Index.html (отредактирован)
<div id="rss-feeds" class="me"></div>
<button id="hide">hide</button>
JS
$(document).ready(function(){
$("#hide").click(function(){
$(".me").hide();
});
});
Как я могу использовать локальное хранилище для этого?
легко, если вы назовете свою функцию:
$(document).ready(function(){
function showIt(){
localStorage.shown=1;
$(".me").show();
}
if(localStorage.shown==='1'){ showIt(); }
$("#show").click(showIt);
});
таким образом вы можете вызывать одну и ту же процедуру из события click и во время загрузки из localStorage.
Мне удалось сделать это так, используя этот замечательный пример, и он прекрасно работает для всех, кто может быть заинтересован.
https://gist.github.com/jakebresnehan/1983968
<button id="hide-button">Hide</button>
<button id="show-button">Show</button>
<div id="sign-up-form">
<p>Sign up form</p>
</div>
$(document).ready(function($){
if (Modernizr.localstorage) {
$('#hide-button').click(function(e){
localStorage.setItem('subscribed',true);
$('#sign-up-form,#hide-button').hide();
$('#hide-button').hide();
$('#show-button').show();
});
$('#show-button').click(function(e){
localStorage.setItem('subscribed',true);
localStorage.clear();
$('#sign-up-form,#hide-button').show();
$('#show-button').hide();
});
var is_subscribed = localStorage.getItem('subscribed');
if(is_subscribed){
console.log('localStorage')
$('#sign-up-form,#hide-button').hide();
}
if(!is_subscribed){
console.log('no localStorage');
$('#sign-up-form').show();
$('#show-button').hide();
}
}
});