У меня есть несколько div, которые по сути являются просто красочными прямоугольниками, которые помогают визуализировать. Когда я прокручиваю страницу вниз, каждый прямоугольник должен fadeIn
или fadeOut
в зависимости от положения полосы прокрутки. К сожалению, это волнует, и затухание происходит скорее как спастический свет строба. Я думаю, было бы лучше определить уровень непрозрачности тем, насколько далеко вперед, по прокрутке, я прохожу через каждый элемент, но я даже не знаю, с чего начать эту глупость.Fade divs in и out на прокрутке jQuery
Похоже, this guy имел аналогичный вопрос, но ответ не сработал.
JQuery
$(document).ready(function(){
var $element_array = $("#content").find("div");
$(window).scroll(function(){
$element_array.each (function(){
if (($(this).position().top + $(this).height()) < $(window).scrollTop())
$(this).fadeIn();
if (($(this).position().top + $(this).height()) > $(window).scrollTop())
$(this).fadeOut();
});
});
});
HTML
<div id="content">
<div id="bg1"></div>
<div id="bg2"></div>
<div id="bg3"></div>
</div>
CSS
html,body{height:100%;margin:0;}
#content{
background:#333333;
height:2000px;
z-index:1;
}
#bg1{
background:blue;
height:400px;
width:100%;
z-index:2;
position:fixed;
top:100px;
display: none;
}
#bg2{
background:green;
height:400px;
width:100%;
z-index:3;
position:fixed;
top:200px;
display: none;
}
#bg3{
background:red;
height:400px;
width:100%;
z-index:4;
position:fixed;
top:300px;
display: none;
}
Хотя вы не обращались лаг, что происходит из-за агрессивную прокрутку (что-то я не обеспокоен в данный момент), ваше решение было решить мою особую проблему. Спасибо за помощь! – itsclarke