所以有一天,我在Stackoverflow上问了一个问题并得到了答案。但显然在经历了这段时间的挣扎之后,我无法找到解决方案。我在Chrome和Safari中使用的代码,但在Firefox和IE中无效。
有谁可以告诉这段代码有什么问题?
$(window).bind('scroll', function() {
if ($('body').scrollTop() + $(window).height() >= $('#cooler-nav').offset().top){
$.colorbox({width:"700px", inline:true, href:"#subscribepop"});
$(window).unbind('scroll');
}
});
基本上,目标是在用户查看div#cooler-nav ...时启动此颜色框。
答案 0 :(得分:3)
scroll事件不会传播到DOM树中。尝试绑定'body'滚动,而不是窗口滚动,看看是否为你修复了它。
编辑:我回去检查我的代码,过去我必须这样做,并意识到我已经倒退了。当我在过去完成它时,我使用$(window).scrollTop()
而不是身体。所以,这会使你的代码看起来像:
$(window).bind('scroll', function() {
if ($(window).scrollTop() + $(window).height() >= $('#cooler-nav').offset().top){
$.colorbox({width:"700px", inline:true, href:"#subscribepop"});
$(window).unbind('scroll');
}
});
答案 1 :(得分:0)
您应该更改if子句以检查'body,html'上的scrollTop以使其在FF中工作