【问题标题】:Fade out div on scroll滚动时淡出 div
【发布时间】:2016-03-09 16:54:01
【问题描述】:

当我的页面滚动时,我正在淡出 div #hero-image。目前,下面的代码使用标称值 1000 来确保缓慢淡入淡出,但我的#hero-image div 是浏览器高度的 100%,所以我希望从 1 到 0 的完全不透明度过渡发生当用户将 100% 高度的 div 滚动出初始视口时。

非常感谢任何帮助!

/* Fade #hero-image on scroll */
$(document).ready(function(){
    $(window).scroll(function(){
        $("#hero-image").css("opacity", 1 - $(window).scrollTop() / 1000);
    });
});

【问题讨论】:

  • 那么为什么不用$("#hero-image").heigth() 替换1000 呢?

标签: javascript jquery css


【解决方案1】:

使用元素的高度而不是通用的 1000 值。

小提琴:http://jsfiddle.net/e84enbf2/

$(document).ready(function(){
    $(window).scroll(function(){
        $("#hero-image").css("opacity", 1 - $(window).scrollTop() / $('#hero-image').height());
    });
});

如果我正确理解您的评论,以便在滚动 div 一半高度后完成淡出,只需除以 2。

小提琴:http://jsfiddle.net/e84enbf2/1/

$(document).ready(function(){
    $(window).scroll(function(){
        $("#hero-image").css("opacity", 1 - $(window).scrollTop() / ($('#hero-image').height() / 2));
    });
});

【讨论】:

  • 乐于助人!祝你好运!
  • 最后一件事,我怎样才能调整你的答案以覆盖 50% 的高度?
  • 你做到了 :) 再次感谢你
  • 可能发生除零异常
  • 这是真的@johnny5。您可以在设置 css dungey 上方添加 0 检查。如果它是短路参考,也喜欢你的名字 johnny5。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
相关资源
最近更新 更多