javascript - 向下滚动时淡入图像

标签 javascript jquery html image scroll

我正在制作一个一页网站,在网站中间我有一些图像,我想在用户向下滚动时显示这些图像。当用户向下滚动时,我希望图像淡入并保持 100% 不透明度。我已经浏览了很多不同的脚本,但没有一个起作用。我发现一段很好的代码被剪掉了,但它似乎仍然不起作用。它只显示图像,但不透明度较低。 这是代码:

<script>
  var $win = $(window);
  var $img = $('.fadeInScroll'); // Change this to affect your desired element.
  $win.on('scroll', function() {
    var scrollTop = $win.scrollTop();
    $img.each(function() {
      var $self = $(this);
      var prev = $self.offset();
      if (prev) {
        var pt = 0;
        pt = prev.top - $win.height();
        $self.css({
          opacity: (scrollTop - pt) / ($self.offset().top - pt)
        });
      } else {
        $self.css({
          opacity: 1
        });
      }
    });
  }).scroll();
</script>
<section id="about">
  <h2><center>Header</center></h2>
  <div class="fadeInScroll" display:="" opacity:="0" style="opacity: 0.1;"> <img src="/ap/wsf1.png" alt="trulycode-responsive" class="aligncenter size-medium wp-image-555"></div>
</section>

最佳答案

好的。因此,如果我正确理解你想要什么,当你的图像已经以这种方式淡入淡出时,你可以阻止你的淡入淡出效果:

var $win = $(window);

$win.on('scroll', function () {
    var scrollTop = $win.scrollTop();

    $('img.hidden').each(function () {
        var $self = $(this);
        var prev=$self.offset();
        if(prev){
            var pt=prev.top-$win.height();  
            var opacity = (scrollTop-pt) / ($self.offset().top-pt);
            $self.css({
                opacity: opacity
            });
            if(opacity >= 1) $self.removeClass('hidden');
        }
        else{
            $self.css({
                opacity: 1
            });
        }  
    });

}).scroll();
.wrapper {
  background: orange;
  height: 2000px;
}

.wrapper img {
  width: 300px;
  position: absolute;
  opacity: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="wrapper">
  <img class="hidden" style="top: 400px;" src="http://sport-nc.com/wp-content/uploads/2015/06/India_Surf_Tours_-_17__1_.jpg"/>
  <img class="hidden" style="top: 1000px;" src="http://sport-nc.com/wp-content/uploads/2015/06/India_Surf_Tours_-_17__1_.jpg"/>
  <img class="hidden" style="top: 1600px;" src="http://sport-nc.com/wp-content/uploads/2015/06/India_Surf_Tours_-_17__1_.jpg">
</div>

关于javascript - 向下滚动时淡入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735883/

相关文章:

html - 添加边距使最后一列成为新行

html - 在 Firefox 中将焦点设置到 iframe 正文/内容?

javascript - 是否可以使用 javascript 访问文本输入的历史记录?

javascript - 我的脚本运行时是否调用了 setInterval 处理程序?

javascript - 如何从 javascript 订阅 JMS 主题 - 需要一个完整的例子

javascript - javascript对象声明中的反引号

jquery - jQuery 动画的最佳策略

jquery - 使用 jQuery 捕获 "Delete"按键

javascript - 不使用 location.replace 从历史浏览器中删除当前页面

html - 设置 WordPress 缩略图帖子的大小