【问题标题】:Fade In and Out on scroll using CSS opacity and Javascript使用 CSS opacity 和 Javascript 在滚动时淡入淡出
【发布时间】:2013-12-05 09:46:20
【问题描述】:

我有一个 div 元素,我想在某个滚动点上淡入淡出,但我没有使用(慢)或(快)属性,而是使用了 CSS 不透明度,这样滚动时它仍然可见并在页面上下移动时更改不透明度。这用于顶部徽标并且效果很好,但由于某种原因,我找不到在第二个徽标上再次使用它的解决方案。到目前为止,您可以在我的网站上看到它的使用情况: http://abezieleniec.com/SIDWeb

HTML

<div class="jumbotronsecond">
  <div class="container">
    <div class="biglogo2">
      <img src="images/biglogofull.png">
    </div>
  </div>
</div>

CSS

.biglogo2 {
width:80%;
display:block;
margin-left:auto;
margin-right:auto;
margin-top:130px;
margin-bottom:130px;
opacity:1;
}

JavaScript

$(function(){
    var fadeBegin = 500, 
    fadeFinish = 800, 
    fadingElement = $('.biglogo2');

    $(window).bind('scroll', function(){
       var offset = $(document).scrollTop(), opacity = 0; 
        if( offset <= fadeBegin ){
           opacity = 1; 
       } else if( offset <= fadeFinish ){
           opacity = 1 - offset / fadeFinish;
       }
     fadingElement.css('opacity',opacity);
    });

【问题讨论】:

  • 能否请您在您的问题中发布相关代码?
  • @popnoodles 添加了代码给你看!

标签: javascript jquery css


【解决方案1】:

再三考虑,您发布了链接是件好事

<script src="js/vendor/jquery-scrollspy.js"></script>
<script src="js/vendor/jquery-1.10.1.min.js"></script>

您在需要它存在的扩展之后加载 jQuery 库。如果您查看控制台(在 Chrome f12 中然后单击控制台),您会看到 Uncaught ReferenceError: jQuery is not defined

您的代码运行良好,但您提供的内容不平衡 - 需要另一个 }); 才能关闭该 $(function(){。我已经缩进了你的代码来显示这一点。抱歉,我在 jsfiddle 中没有那么整洁。

http://jsfiddle.net/xtqLz/

为了让动画更流畅替换这条线

// fadingElement.css('opacity',opacity);
fadingElement.stop().animate({opacity: opacity}, 200);

这告诉 jQuery 将元素动画到下一个不透明度,但每次.stop()s 上一个动画,否则它们会排队。

http://jsfiddle.net/xtqLz/2/

【讨论】:

  • 我关闭了该功能并将其添加到我的网站,但如果您看一下,您会看到它“捕捉”到不同的不透明度而不是平滑变化,您认为这是为什么呢?跨度>
  • 因为滚动事件发生了飞跃。使用 jsfiddle 并打开控制台并在滚动时查看值。这可能会被克服,我会尝试......
  • 顺便说一句,我倒着阅读并不困难。我的大脑将那个标志读作“pis”。对不起。
  • 感谢您的帮助!它确实有效,我只是好奇为什么它在顶部徽标上如此流畅,但在中间徽标上却不那么流畅。
  • 哦,我明白你的意思了。实际上不确定。
猜你喜欢
  • 2016-10-21
  • 2021-02-14
  • 2019-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
相关资源
最近更新 更多