在滚动上更改margin-top

Erw*_*ren 8 css jquery scroll margin

我在div上有一个负余量,但我想改变滚动的负余量直到负值达到0.

从:

margin:-150px 0 0 0;
Run Code Online (Sandbox Code Playgroud)

to :(滚动)

margin:0px 0 0 0;
Run Code Online (Sandbox Code Playgroud)

我认为它是某种视差效果,我正在搜索并在StackOverflow上找到它: 根据窗口滚动更改div的上边缘

我想到了类似的东西,但必须有一些更容易的东西

$(window).scroll(function(){
if  ($(window).scrollTop() >= 1){ $('#three').css({margin:'-149px 0 0 0px'}); }
if  ($(window).scrollTop() >= 2){ $('#three').css({margin:'-148px 0 0 0px'}); }  
if  ($(window).scrollTop() >= 3){ $('#three').css({margin:'-147px 0 0 0px'}); }   
if  ($(window).scrollTop() >= 4){ $('#three').css({margin:'-146px 0 0 0px'}); }  
else { $('#three').css({margin:'-150px 0 0 0px'}); }
});
Run Code Online (Sandbox Code Playgroud)

-

我用html/css基础创建了一个小提琴

小提琴: http ://jsfiddle.net/qSe4e/

-

非常感谢你的进步

nat*_*per 9

尝试使用一些数学运算来自动生成所有可能性(类似于您的尝试,但是使用单行代替每种可能性的一行.

示例:http://jsfiddle.net/qSe4e/9/

$(window).scroll(function(){
    var fromTop = $(window).scrollTop();
    $("#three").css('margin', '-' + (100 - fromTop) + 'px 0px 0px 0px');
});
Run Code Online (Sandbox Code Playgroud)