案例:旋轉木馬 頁面載入時候出現的效果,script標簽寫在head裡面,body上面 顯示一個圖片散開的動畫,遍歷之後,把每個圖片用封裝的動畫函數移動到指定目標(同時改變多屬性:寬,透明度,層級,top, left) 在做左右按鈕點擊事件。 右邊按鈕,用數組裡面的push和shift,數組第一個去 ...
案例:旋轉木馬
頁面載入時候出現的效果,script標簽寫在head裡面,body上面
顯示一個圖片散開的動畫,遍歷之後,把每個圖片用封裝的動畫函數移動到指定目標(同時改變多屬性:寬,透明度,層級,top, left)
在做左右按鈕點擊事件。
右邊按鈕,用數組裡面的push和shift,數組第一個去除加到最後一個位置
左邊按鈕,unshift最後一個pop到第一個
在很快點擊的時候,會有混亂的情況(一個函數沒執行完畢下一個執行全擠在一起)所以加了一個鎖flag,保證一個函數執行完畢才進行下一個函數
分別添加進圖片散開,左邊按鈕,右邊按鈕3個事件裡面。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>旋轉木馬輪播圖</title> <link rel="stylesheet" href="css/css(1).css" /> <script src="common.js"></script> <script> var config = [ { width: 400, top: 20, left: 50, opacity: 0.2, zIndex: 2 }, { width: 600, top: 70, left: 0, opacity: 0.8, zIndex: 3 }, { width: 800, top: 100, left: 200, opacity: 1, zIndex: 4 }, { width: 600, top: 70, left: 600, opacity: 0.8, zIndex: 3 }, { width: 400, top: 20, left: 750, opacity: 0.2, zIndex: 2 } ]; //頁面載入的事件 window.onload = function () { var flag = true; //假設所有的動畫執行完畢了---鎖===================================== var list = my$("slide").getElementsByTagName("li"); //圖片散開 function assign() { for (var i = 0; i < list.length; i++) { //設置每個li,用封裝的animate函數,把寬,層級,透明度,left,top移動到制定的目標位置 animate(list[i], config[i], function () { flag = true; //============================================================== }) } }; assign(); //右邊按鈕 my$("arrRight").onclick = function () { if (flag) { //===================================================================== flag = false; config.push(config.shift()); assign();// 重新分配 } }; //左邊按鈕 my$("arrLeft").onclick = function () { if (flag) { flag = false; config.unshift(config.pop()); assign(); } }; //滑鼠進入,左右焦點的div顯示 my$("slide").onmouseover = function () { animate(my$("arrow"), { "opacity": 1 }); }; //滑鼠離開,左右焦點的div隱藏 my$("slide").onmouseout = function () { animate(my$("arrow"), { "opacity": 0 }); }; }; </script> </head> <body> <div class="wrap" id="wrap"> <div class="slide" id="slide"> <ul> <li><a href="#"><img src="images/slidepic1.jpg" alt="" /></a></li> <li><a href="#"><img src="images/slidepic2.jpg" alt="" /></a></li> <li><a href="#"><img src="images/slidepic3.jpg" alt="" /></a></li> <li><a href="#"><img src="images/slidepic4.jpg" alt="" /></a></li> <li><a href="#"><img src="images/slidepic5.jpg" alt="" /></a></li> </ul> <div class="arrow" id="arrow"> <a href="javascript:;" class="prev" id="arrLeft"></a> <a href="javascript:;" class="next" id="arrRight"></a> </div> </div> </div> </body> </html>