Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 淡入淡出动态div_Jquery_Css - Fatal编程技术网

Jquery 淡入淡出动态div

Jquery 淡入淡出动态div,jquery,css,Jquery,Css,几天来,我一直在为期末考试做一个学校项目,事情发生了: 我的div不断地淡入淡出,过了一段时间它们就停止了,到目前为止,我已经使用了这个jquery 在这里,我创建了一些变量,使div在达到固定高度时消失(div是粘性的,正如您在css中看到的那样,因此它不会在我需要的时候获取高度) ---css--- 我想使用setTimeout延迟启动动画,直到滚动停止: var$window=$(window),//将其缓存以获得更好的性能 timeoutVar;//声明timeoutVar $wind

几天来,我一直在为期末考试做一个学校项目,事情发生了: 我的div不断地淡入淡出,过了一段时间它们就停止了,到目前为止,我已经使用了这个jquery

在这里,我创建了一些变量,使div在达到固定高度时消失(div是粘性的,正如您在css中看到的那样,因此它不会在我需要的时候获取高度)

---css---


我想使用
setTimeout
延迟启动动画,直到滚动停止:

var$window=$(window),//将其缓存以获得更好的性能
timeoutVar;//声明timeoutVar
$window.scroll(函数(){
clearTimeout(timeoutVar);//清除超时,使其不触发淡入淡出功能
timeoutVar=setTimeout(淡入淡出,100);//在100ms内运行淡入淡出功能(仅当滚动停止时才会运行)
});
函数fade(){
$('.processor')。每个(函数(索引,项){//获取传入的项,以便可以使用它们
var$item=$(item);//这正是执行$(this)的正确方法;
如果($window.scrollTop()>fromTop[index+1]){//只需使用索引,而不是计数器(它们的作用基本相同)
$item.fadeOut(500);//您也可以使用淡入淡出
}否则{
$item.fadeIn(500);//您也可以使用淡入淡出
}
//看起来有点奇怪,你用别的东西来淡化同样的东西
if($window.scrollTop()>fromTop[index])//检查该滚动是否足以使另一个div出现
{
$item.fadeIn(500);//您也可以使用淡入淡出
}
});

}
jQuery将向队列中添加动画,这可能会导致在一段时间后播放多个动画(我记得不久前在多个带有mouseOver动画的网站上看到过这一点)

问题是,您确实希望在每次滚动窗口时都进行检查,但当然,当用户滚动窗口时,会多次触发该事件。如果知道在.scroll函数中设置的动画是最终动画,则可以显式将动画队列设置为1,如下所示:

if ($(this).queue().length > 1) $(this).queue() = 1; //do this before applying fadeTo

这将允许队列完成其当前动画,然后运行所需的动画,并在此处结束。因此,在滚动多次后,div最多只能浏览2个动画。

这是因为每次启动滚动事件时都会触发动画(在一次滚动过程中可以多次触发)-你想限制滚动事件,使其在停止后只触发一次,或者在重新启动iTunes之前停止动画。我不是一个专家,所以我不知道从哪里开始以你的方式进行修复,你能帮我吗,或者将我重定向到他们解释它的地方吗?抱歉,我不知道它是如何工作的,函数fade()不在$window.scroll中,那么它如何启动该功能?不管怎样,谢谢你给我时间,但我真的需要在滚动时淡出,而不是在它停止时淡出(淡出,100)好吧,我确实得到了我想要的结果,现在唯一的问题是,即使我一直向下滚动,同一个div也会不断出现和消失,有什么帮助吗?哦,我的上帝,非常感谢你,你对我出现在另一个部门的评论让我真的想(上帝真是太蠢了),我必须检查这个部门是否在两个高度之间,很抱歉给你添麻烦,浪费了你的时间给像我这样愚蠢的人非常感谢你的帮助!
.processor{
width:65%;
height:70%;
background: linear-gradient(rgba(179, 0, 0, 0.75), rgba(95, 0, 0, 0.75));;
margin: 0 auto;
overflow:hidden;
border-radius:3px;
top: 18%;
position:sticky;
margin-bottom:250px;
}
if ($(this).queue().length > 1) $(this).queue() = 1; //do this before applying fadeTo