【问题标题】:Use scroll bar as timeline for an animation in jquery [closed]在jquery中使用滚动条作为动画的时间线[关闭]
【发布时间】:2015-06-15 05:33:32
【问题描述】:

我正在尝试在您滚动时为元素(svg)设置动画,到目前为止,我在滚动时触发了动画,但我希望滚动充当“时间线”,因此当您滚动动画时,但是如果你停止滚动,动画就会暂停,如果你向上,动画就会倒退。我想会像一个视差卷轴。

我知道有一些插件可以解决这个问题,但是由于我有时间我想知道是否可以仅使用 jquery 来完成。

所以我的问题是:有什么方法可以用纯 jquery 来做到这一点?

【问题讨论】:

  • 当然有。问题太宽泛,无法提供更多答案。当您遇到特定代码相关问题时请回来
  • 对于您所描述的内容,有许多 jQuery 插件提供了非常好的解决方案 - 这将被视为“纯 jquery”。为什么要重建轮子?
  • @charlietfl,你不觉得有点苛刻吗? Trifit 显然是新的,支持新的 S.O. 总是更好。用户而不是因为他们提出的问题不符合标准而将他们拒之门外。
  • @stoves not at all...问题不符合网站指南,当然是too broad,并且与代码无关
  • 我同意@ElliotM ;检查完全符合您要求的 jquery 插件。

标签: jquery css animation


【解决方案1】:

这看起来与您正在寻找的内容相同:

Jquery/Javascript Opacity animation with scroll

示例中的小提琴使用滚动位置来控制不透明度,我觉得你在很大程度上可以对动画控制做同样的事情:

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);
});

当然,如果您与我们分享一些代码,我们或许可以为您提供更好的帮助。现在你只有一个模糊的问题,所以你得到的只是粗略的答案,与你解释的问题相适应。尽可能在提问时展示代码总是好的。

【讨论】:

  • 感谢所有 cmets,是的,我必须展示我的代码并详细说明我的问题,我很着急(不是借口),我知道得更多,谢谢。所以基本上,我试图将 svg(云)从屏幕的一侧移动到另一侧,由滚动控制,所以只要你向下移动滚动,云就会从右到左移动,但是如果你随着卷轴上去,云从左到右回到原来的位置。到目前为止,我一直在使用此代码: $(window).scroll(function(){ $(".cloud").animate({right:'110%'},5000); });
  • 感谢代码,我一到家就试试。我也会寻找 jquery 插件,虽然这是一个自我强加的练习来了解更多关于 jquery 的信息,我想自己做
猜你喜欢
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
  • 2020-03-10
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
相关资源
最近更新 更多