2012-07-12 66 views
0

在网站设计上,我有一个最近的新闻栏目,显示缩略图和最近新帖的标题。总共有12个新闻报道(3行4)被显示。通过CSS“最近的新闻”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); 
    }); 
}); 

这正常jQuery的,但我有问题是最近的新闻专区内任何事情都会运行此切换功能。这是一个问题,因为任何最近的新闻报道现在都无法通过实体点击进入故事。

有没有办法去除切换继承?还是我用错误的方式使用切换?

+1

您可以在点击事件中使用e.stopImmediatePropagation(),这将停止点击事件通过div传播(根据您的代码可能会触发其他切换) – rsplak 2012-07-12 10:17:09

+1

您的传奇!我在我的切换语句之前加了这个 $(“#recentnews ul li a”)。click(function(event){ event.stopImmediatePropagation(); }); 而且它很棒!如果你写了一个答案,我会把它标记为已解决。 – 2012-07-12 10:28:20

+0

很高兴解决了!我写了一个答案。谢谢! – rsplak 2012-07-12 11:01:59

回答

2

您可以在点击事件中使用e.stopImmediatePropagation(),这将停止点击事件通过div传播(根据您的代码可能会触发其他切换)。

+1

感谢您将我指向e.stopImmediatePropagation()!以供参考:http://api.jquery.com/event.stopImmediatePropagation/ – 2012-07-12 11:02:36