javascript - 曝光时图像淡入

标签 javascript jquery html css dreamweaver

如何在图像出现后淡入淡出?我试图让我的网站响应,所以让它淡入滚动的像素数量是行不通的。我需要它根据滚动百分比显示出来。或者是否有办法让它在视野中时淡入?

代码如下:

$(document).ready(function(){
    $(window).bind("scroll", function() {
if ($(this).scrollTop() > 300) {
    $("#bluprintdesign").fadeIn();
} else {
    $("#bluprintdesign").stop().fadeOut();
}

现在我要做的是当滚动 300 像素时淡入,如果向上滚动则淡出。我喜欢这样,但我希望它以百分比表示,以便它响应所有屏幕分辨率。

谢谢!

最佳答案

这是一个函数 showImages(),它将测量您的 $.scrollTop() + $(window).height() 以建立视口(viewport)底部的滚动点,当图像的一半通过视口(viewport)底部时,将向隐藏图像添加一个类。我在 $(document).ready();$(window).on('scroll'); 上调用它,以便它将图像加载到页面加载和滚动时的视口(viewport)。

使用 opacity: 0 而不是 display: none($.fadeIn()/$.fadeOut() 将切换)允许图像仍然占据文档中的空间,允许您计算它的高度(需要知道什么时候图像的一半在 View 中)而无需做任何棘手的事情,并且当图像淡入时还将保持页面布局,如果您切换 display,则页面会跳来跳去。

还有一些图书馆可以为您完成这项工作。 jQuery waypoints是一个流行的。

function showImages() {
  var $window = $(window),
    thresh = $window.scrollTop() + $window.height();
  $('img:not(.show)').each(function() {
    if (thresh > $(this).offset().top + ($(this).outerHeight() / 2)) {
      $(this).addClass('show');
    }
  });
}
$(window).on('scroll', function() {
  showImages();
})
$(function() {
  showImages();
})
section {
  height: 200vh;
  border-top: 1px solid black;
}
img {
  opacity: 0;
  transition: opacity .25s;
}
.show {
  opacity: 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section>
  <img src="http://kenwheeler.github.io/slick/img/fonz1.png">
</section>
<section>
  <img src="http://kenwheeler.github.io/slick/img/fonz1.png">
</section>
<section>
  <img src="http://kenwheeler.github.io/slick/img/fonz1.png">
</section>

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

相关文章:

javascript - 当修饰符选项为 true 时,验证对象必须至少有一个运算符 - 集合 2 包 - Meteor

javascript - 在文本框中粘贴某些文本时是否检查数字(没有设置超时)

html - 输入类型文本在 IE8 中不会消失

html - 更改 div :before on mouse over another div is not working 的内容

javascript - 当绝对定位元素在浏览器窗口之外时扩展 "body"

javascript - 是否可以将远程文件从 Electron App 拖到文件系统上?

javascript - rails : How to create javascript object from controller?

javascript - 如何防止重新加载时jquery动态内容丢失?

javascript - jQuery 此选择器不适用于图像

javascript - jQuery 从右侧表单显示一个像幻灯片一样的 div