带滚动的Jquery/Javascript Opacity动画

Sou*_*edy 7 javascript jquery html5 css3 jquery-animate

我希望根据用户滚动更改对象的不透明度(并使动画转换为动画).示例(http://davegamache.com/)

我在这里搜索过,但它最终指向了我的路标插件(http://stackoverflow.com/questions/6316757/opacity-based-on-scroll-position)

我已经实现了[waypoints] [1]插件,并且一旦高于100px就会使对象褪色.[使用offet属性]但希望基本上控制对象的不透明度,并使动画像上面的例子一样可见.

我一直在搜索 - 这是我的最后一招.任何帮助是极大的赞赏.

mal*_*lko 25

这里有起点和终点的工作例:http: //jsfiddle.net/z7E9u/1/

我在这里复制粘贴基本代码

    var fadeStart=100 // 100px scroll or less will equiv to 1 opacity
    ,fadeUntil=200 // 200px scroll or more will equiv to 0 opacity
    ,fading = $('#fading')
;

$(window).bind('scroll', function(){
    var offset = $(document).scrollTop()
        ,opacity=0
    ;
    if( offset<=fadeStart ){
        opacity=1;
    }else if( offset<=fadeUntil ){
        opacity=1-offset/fadeUntil;
    }
    fading.css('opacity',opacity).html(opacity);
});
Run Code Online (Sandbox Code Playgroud)


max*_*son 13

这是一个有效的例子:http://jsfiddle.net/meEf4/

和代码:

var target = $('div');
var targetHeight = target.outerHeight();

$(document).scroll(function(e){
    var scrollPercent = (targetHeight - window.scrollY) / targetHeight;
    if(scrollPercent >= 0){
        target.css('opacity', scrollPercent);
    }
});
Run Code Online (Sandbox Code Playgroud)

我们所做的只是获取窗口的当前滚动位置,找出现在所讨论的元素的百分比,并使用该百分比设置其不透明度.