0

无法弄清楚如何让它工作。我尝试了一些变化。我希望窗口根据它的偏移量滚动到 .accordion > dt 的顶部。目前此代码只是打开面板并开始重新加载页面。

(function($) {

    var $j = jQuery.noConflict();
    var allPanels = $j('.accordion > dd').hide();

    $('.accordion > a > dt').click(function() {
        $this = $j(this);
        $target = $this.parent().next();


        if (!$target.hasClass('active')) {
            allPanels.removeClass('active').slideUp();
            $target.addClass('active').slideDown();
            window.scrollTo($(".accordion").offset().top);
        }

        return false;
    });

})(jQuery);
4

1 回答 1

0

看起来好像您的DT元素与锚标签一起存在。通过返回 false,您将停止元素上的默认点击行为DT,但是,您仍然需要阻止事件传播到链接。

$('.accordion > a > dt').click(function(e) {

    $this = $j(this);
    $target = $this.parent().next();


    if (!$target.hasClass('active')) {
        allPanels.removeClass('active').slideUp();
        $target.addClass('active').slideDown();
        window.scrollTo($(".accordion").offset().top);
    }

    e.stopPropagation();
    return false;

});
于 2012-07-30T22:34:53.440 回答