为什么这个jquery会在Firefox中运行而不是Chrome?

时间:2013-07-16 10:34:23

标签: javascript jquery

此代码适用于Firefox,但在Chrome或IE中无效。 怎么样?

var controlOpa = 0;

$(window).scroll(function() {

    if(controlOpa <= 100) {

    $("#foo0").css("top", "+=10");
    $("#foo1").css("top", "+=12");
    controlOpa += .5;

    } else {

        $(window).unbind('scroll');

    }
});

2 个答案:

答案 0 :(得分:2)

+=10不是top属性的有效值。这样做:

var top0 = $('#foo0').css('top'),
    top1 = $('#foo1').css('top');

$('#foo0').css('top', top0 + 10);
$('#foo1').css('top', top1 + 10);

编辑:我的不好,这在​​jQuery 1.6及更高版本中实际上是有效的。

答案 1 :(得分:1)

如果你想在滚动时为每个div获取顶部滚动偏移量,并在页面滚动时为它添加10,那么这就是纯JS中的样子:

var foo = document.querySelectorAll('#foo0', '#foo1');
window.addEventListener('scroll', function(){
  foo[0].scrollTop += 10;
  foo[1].scrollTop += 12;
}, false);

如果没有对预期行为的解释,你的controlOpa变量是什么,或者在100px滚动后删除滚动侦听器你想要的是什么,我真的不能包含那些东西,并确保它输出你的内容意。如果你让我知道更多,我可以将这些事情纳入榜样。