У меня возникли проблемы с ползунком контента, который я создаю. Есть 4 коробки содержимого, размещенные внутри тегов, расположенных абсолютно внутри относительно позиционированной обертки. Слева направо коробки имеют ID # module1, # module2, # module3 и # module4 соответственно. Когда я нажимаю кнопку, я хочу, чтобы контент прокручивался вправо.jQuery анимация содержимого слайдер петля
- # module4 следует анимировать с правой стороны страницы, скрыть, а затем вернуться в режим просмотра в левой части страницы.
- # module3 должен встать на место, где # module4 был и имеет непрозрачность, равную 50%, такую же, как # module4.
- # module2 должен переместиться в место, где был # module3.
- # Модуль1 должен иметь непрозрачность, установленную на 100%, и перейти туда, где # module2 был.
Проблема, с которой я сталкиваюсь, заключается в том, когда # module4 прокручивается вправо от страницы, тогда она видна, когда она перемещается в левую сторону страницы. Я не могу понять, как правильно скрыть это из вида, пока он не прокрутится влево с левой стороны.
Вот мой код анимации:
#module1,#module2,#module3,#module4{position:absolute;top:0;width:31.9444%;height:200px;background:#999;}
.wrapper{width:100%;height:220px;position:relative;}
button{position:relative;z-index:1000;}
<body onLoad="contSlidr()">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<div id="module1">Module1</div>
<div id="module2">Module2</div>
<div id="module3">Module3</div>
<div id="module4">Module4</div>
</div>
<script type="text/javascript">
//////////////////////////////////
// V a r i a b l e s //
//////////////////////////////////
var t = 400;
var mod = [$('#module1'),$('#module2'),$('#module3'),$('#module4')];
var m2 = mod[1].width();
var scrnW = $(document).width();
//////////////////////////////////
function contSlidr(){
$(document).ready(function(){
mod[0].css('left','-23%');
mod[0].css('opacity','.5');
mod[1].css('left',scrnW*0.14583);
var m2PosL = scrnW*0.14583;
mod[2].css('left',m2 + m2PosL + (scrnW*.041667));
mod[3].css('left','88.75%');
mod[3].css('opacity','.5');
});
}
//////////////////////////////////
function animateRight(){
var m2PosL = scrnW*0.14583;
mod[0].animate({
left:scrnW*0.14583,
opacity: 1
},t);
mod[1].animate({
left: parseInt(m2 + m2PosL + (scrnW*.041667))
},t);
mod[2].animate({
left:"88.75%",
opacity:.5
},t);
mod[3].animate({
left:"120%",
},{duration:t/2});
mod[3].css('left','-120%');
mod[3].animate({
left: "-23%",
},{duartion:t});
var b = mod.pop();
mod.unshift(b);
}
//////////////////////////////////
</script>
<button onMouseUp="contSlidr()">Set Left</button>
<button onMouseUp="animateRight()">Move Right</button>
</body>
использование 'onmouseover' вместо OnMouseUp нет по умолчанию OnMouseUp событие в DOM СОБЫТИЙ –