我有代码,看起来像这样:
(function($) {
$(document).ready(function() {
function getHash(){
var h = document.location.href.split('#');
return h.length == 1 ? "" : h[1];
}
var $newdiv = $('...html code here...');
function checkit() {
if(getHash() != "#ignoreDivButton")
$('html').html($newdiv);
}
checkit();
$('#ignoreDivButton').click(function(){
document.location.href = document.location.href.split('#')[0] + "#ignoreDivButton";
location.reload();
});
});
})(jQuery);
我需要的是通过单击#ignoreDivButton重新加载页面,但不加载newdiv。我只是无法得到如何忽略变量。提前谢谢。
答案 0 :(得分:1)
可以将变量设置为cookie,localStorage甚至是url(hash):
function getHash(){
var h = document.location.href.split('#');
return h.length == 1 ? "" : h[1];
}
$(window).load(function() {
if(getHash() != "ignoreDivButton")
$('html').html($newdiv);
});
$('#ignoreDivButton').click(function(){
//reload the page and set the hash of the url to ignoreDivButton
document.location.href = document.location.href.split('#')[0] + "#ignoreDivButton";
})
答案 1 :(得分:0)
如何而不是仅仅重新加载位置,您可以在网址上添加某种标记,例如#second_load
,然后在设置$newdiv
变量之前在网址中测试令牌?
答案 2 :(得分:0)
看起来它现在总是会加载newdiv,只是因为你从不限制它,尝试在cookie中有一个变量来说明div是否应该被加载(你可以简单地使用javascript来查看...如果您不知道如何使用w3schools这样的网站。)
然后在$('html')之前添加一个if语句.html($ newdiv);