-3

此代码在 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');

    }
});
4

2 回答 2

2

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

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

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

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

于 2013-07-16T10:37:18.280 回答
1

如果您试图在滚动时获取每个 div 的顶部滚动偏移量,并在页面滚动时向其添加 10,那么在纯 JS 中会是这样的:

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

如果没有对预期行为的解释,您的controlOpa变量的用途,或者您在滚动 100 像素后移除滚动侦听器的意图,我无法真正包含这些内容并确保它输出您想要的内容。如果你让我知道更多,我可以将这些东西放入示例中。

于 2013-07-16T11:36:26.987 回答