Javascript 显示/隐藏从一个页面重定向到另一个页面的内容

Javascript 显示/隐藏从一个页面重定向到另一个页面的内容,javascript,jquery,html,hide,show,Javascript,Jquery,Html,Hide,Show,仍在学习基本的php和jquery,但仍有一个想法:我有两个页面,在第二个页面上有show/hide div,如下所示: 我希望有一个从第一页(page1.html)到第二页(page2.html)的链接,这样,通过page2.html#div1等选项,它将打开所选的#div。我尝试使用: 但是当你在givitn上链接到某个浏览器,而在某些chrome版本上根本不工作时,它就不能正常工作 还有更好的主意吗 提前谢谢 在可以调用的地方定义hashchange处理程序,然后在页面加载时,如果loca

仍在学习基本的php和jquery,但仍有一个想法:我有两个页面,在第二个页面上有show/hide div,如下所示:

我希望有一个从第一页(page1.html)到第二页(page2.html)的链接,这样,通过page2.html#div1等选项,它将打开所选的#div。我尝试使用:

但是当你在givitn上链接到某个浏览器,而在某些chrome版本上根本不工作时,它就不能正常工作

还有更好的主意吗


提前谢谢

在可以调用的地方定义hashchange处理程序,然后在页面加载时,如果location.hash不是空的,则调用它。 大概是这样的:

window.onhashchange=function(){    
    var targetDiv = $(location.hash);    
    if(!targetDiv.is(':visible')){$('.page').slideUp();targetDiv.slideDown();}
    else{$('.page').slideUp();}
};
if(window.hash!="") window.onhashchange();

两个JSFIDLE在Chrome 37.0.2062.94版上都可以正常工作。第一个可以正常工作,没有问题。至于第二个。在我的chrome+中不工作有时你会给一些像domain.com/page2.html这样的链接,div1并不是第一次打开隐藏的DIV。一旦你试了第二次。。。它可以工作…它们在Firefox34中也可以很好地工作;您可以指定(不同的?)浏览器和您遇到问题的浏览器版本吗?更详细地说,“不能正常工作”意味着什么?您的代码是否用文档就绪事件处理程序包装?下面是一个例子,()当您提供到某个事件处理程序的直接链接时。刚刚在Firefox和Chrome(私有)中试用,第一次直接链接不起作用。看起来像我需要的!还有一个问题是可能的,如果您已经在第页,并且一些div是打开的,那么如何关闭它?与第一个演示()一样,尝试跟踪最后一个哈希,并将哈希处理程序注册为单击处理程序:干杯!这才是我真正需要的!
window.addEventListener("hashchange", function(){    
var targetDiv = $(location.hash);    
if(!targetDiv.is(':visible')){$('.page').slideUp();targetDiv.slideDown();}
else{$('.page').slideUp();} }, false);
window.onhashchange=function(){    
    var targetDiv = $(location.hash);    
    if(!targetDiv.is(':visible')){$('.page').slideUp();targetDiv.slideDown();}
    else{$('.page').slideUp();}
};
if(window.hash!="") window.onhashchange();