停止在子元素上运行的jQuery切换函数

时间:2012-07-12 10:15:47

标签: jquery inheritance

在网站设计上,我有一个最近的新闻部分,显示缩略图+最近新帖的标题。总共显示了12个新闻报道(3行,共4行)。通过CSS,“Recent News”div具有一个高度设置,默认情况下仅显示第一行。这是创建切换高度的jQuery

$(document).ready(function() {

    $("#recentnews").toggle(function(){
        // Show two rows (8)
        $(this).animate({height:387},200);
        $("html, body").animate({ scrollTop: $(document).height() }, "slow");
        return false;
    }
    ,function(){
        // Show three rows (12)
        $(this).animate({height:565},200);
        $("html, body").animate({ scrollTop: $(document).height() }, "slow");
        return false;
    },function(){
        // Show one row (4)
        $(this).animate({height:211},200);
    });
});

这很好用,但我遇到的问题是最近的新闻div中的任何内容都会运行此切换功能。这是一个问题,因为现在任何最近的新闻报道都无法通过实际点击进入故事。

有没有办法删除切换继承?或者我使用错误的方式切换?

1 个答案:

答案 0 :(得分:2)

您可以在点击事件上使用e.stopImmediatePropagation(),这将阻止点击事件传播通过div(这可能会触发其他切换,具体取决于您的代码)。