我已经创建了一个函数来打开以在单击某个元素时显示div。我在一个页面上有几个。如何只打开某个div来链接到该页面?
HTML:
<div class="heading">
<p>
<a href="#">....</a>
</p>
</div>
<div class="more">
<p>...</p>
</div>
etc.
jQuery的:
<script type="text/javascript">
$(function () {
if($('.heading')[0]) {
$('.heading').toggle(function () {
$(this).next('.more').slideDown();
},
function () {
$(this).next('.more').slideUp();
});
$("a[href='" + window.location.hash + "']").parent(".heading").click();
}
})
</script>
编辑:我为每个隐藏的div添加了一个id,并使用以下函数,它有效!
window.onload = function() {
var hash = window.location.hash;
if(hash != "") {
var id = hash.substr(1);
document.getElementById(id).style.display = 'block';
}
};
答案 0 :(得分:2)
好吧,你可以让jquery在你链接到的页面的URL上附加一个Querystring,它会“延续”打开的DIV,例如myurl.html?打开= div_3
可能有一种方法可以使用#也这样做,但两者看起来都有点笨拙且不受欢迎。
您可以执行Ajax,并将其存储在PHP会话中。
(我之前只在导航中看到过手风琴式菜单,但是你知道你的父母无论如何都要从页面开始,所以你打开它的LI就好了。)
编辑添加:这里是一个Javascript函数的链接,您可以使用它来查看查询字符串,从而确定您需要打开哪个DIV: http://www.svlada.com/blog/2012/06/15/how-to-get-url-parameters-javascript/
答案 1 :(得分:0)
我相信这是你正在寻找的答案....快乐的编码!