当窗口底部经过一个点时,JavaScript会褪色
JavaScript fade when window bottom passes a point
我有一个div被另一个div覆盖,当窗口底部大于div的一半时,我试图让盖子逐渐消失(露出下面的div)。当顶部碰到窗口顶部时,我可以让它开始褪色,但从那以后我编辑了它,它再也不起作用了。
以下是一个JSfiddle示例:http://jsfiddle.net/DnJ2z/676/
这是我的JavaScript代码:
$(document).ready(function() {
var scrollBottom = $(window).scrollTop() + $(window).height();
var middleofDiv = $("#redCover").offset().top + (document.getElementById('redCover').clientHeight/2);
$(window).scroll(function() {
if(scrollBottom > middleofDiv) { //scrolled past the other div?
$("#redCover").fadeOut(2000); //reached the desired point -- show div
}
});
});
对于这个例子,我希望它能在窗口底部位于绿色div的一半以上时触发渐变。
顺便说一句,我在页面上有三个这样的Div+coveredDiv,都是"背景"answers"封面"。如果我能让这个Javascript工作,有没有办法让它适用于所有类而不是单个元素?
谢谢你的帮助!
您的问题是scrollTop()
根据滚动到的位置而不同。您运行的是onload
,所以它总是一样的。它需要在您的scroll
事件中运行。试试这个:
$(function(){
var rC = $('#redCover'), middleofDiv = rC.offset().top + (rC.height()/2);
$(window).scroll(function(){
if($(window).scrollTop() + $(window).height() > middleofDiv){
//scrolled past the other div?
rC.fadeOut(2000); //reached the desired point -- show div
}
});
});
Fiddle
如承诺:
$(window).scroll(function(){
var sT = $(window).scrollTop(), wH = $(window).height();
$('.color').each(function(){
var ths = $(this);
if(sT + wH > ths.offset().top + (ths.height()/2)){
ths.fadeOut(2000);
};
});
});
Fiddle
请注意,您确实在#redCover
周围有#greenDiv
。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- JavaScript即时搜索潜水隐藏与褪色效果
- Javascript图像褪色
- 当窗口底部经过一个点时,JavaScript会褪色
- 我如何使javascript花哨的褪色效果
- JavaScript和CSS文本褪色和SEO
- Javascript背景颜色闪烁与褪色
- Javascript图像褪色
- 一个更好的实现褪色图像交换与javascript / jQuery
- 2 . javascript不能相互工作…(平滑滚动&褪色的身体)
- 什么是最好的方法做一个javascript褪色图像鼠标悬停和鼠标移出效果
- 褪色的图像javascript
- 使用JQuery/Javascript数组形成双面褪色布局