0

我有一个默认状态下带有隐藏列表元素的 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>
4

1 回答 1

2

而不是这个-

$(function () {
    $("li.closed > ul").hide();
});  

删除上面的 jQuery 代码并将其插入到您的 CSS

li.closed > ul {
    display:none;
}
于 2013-04-05T22:52:08.250 回答