我在構建內容滑塊時遇到了一些問題。有4盒內容放置在絕對位於相對定位的包裝內的標籤內。從左到右,這些框分別具有ID#module1,#module2,#module3和#module4。當我點擊一個按鈕時,我希望內容向右滾動。jQuery動畫內容滑塊循環
- #module4應該在頁面的右側進行動畫播放,隱藏,然後在頁面的左側進行動畫回放。
- #module3應該放置在#module4的位置,並將不透明度設置爲與#module4相同的50%。
- #module2應該移動到#module3所在的位置。
- #module1應該將不透明度設置爲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的存在DOM事件沒有默認onMouseUp事件 – 2014-11-04 20:24:44