我有一个默认状态下带有隐藏列表元素的 ul:
$(function () {
$("li.closed > ul").hide();
});
单击时,我会显示带有切换的隐藏列表元素。
$("ul > li.closed").click(function () {
var li = $(this).closest('li');
li.find(' > ul').slideToggle('fast');
$(this).toggleClass("closed open");
});
一切正常。但是当我访问另一个页面并返回到我以前的页面时,切换不再起作用 - 当我单击它们时,它们会切换出去并立即切换回。
我正在将我的链接加载到一个 div 中:
$(".link").click(function (e) {
// Prevent the default action of the event
e.preventDefault();
var linkHref = this.id + '.html';
$("#content").load(linkHref);
$("#nav a.active").toggleClass('inactive active');
$(this).addClass("active").removeClass('inactive');
});
因此我的 html 页面只存在于正文部分,并且我每次都在加载 global.js,这可能是一个问题(比如缓存或其他东西)吗?像这样:
<script src="js/global.js" type="text/javascript"></script>
<article>
<ul>
<li class="closed">Headline
<ul>
<li class="fl"><a href="#"><img src="x.png"></a></li>
<li class="fl"><a href="#"><img src="x.png"></a></li>
</ul>
</li>
</ul>
</article>