您好,登錄后才能下訂單哦!
結構:box包含ul,ul包含4個li;ul絕對定位。
復制li-1、li-2到第li-4后面,為了區分于li-1、li-2,內容改為li-5、li-6,顏色不變。此時ul包含6個li。
需要注意的是,移動的是ul這個大盒子而不是li。
原理:當ul 絕對定位的left 值等于(li-1+li-2+li-3+li-4)的寬度時,利用JavaScript快速復原left 值為0 。
此時請注意盒子里面數字和顏色的變化!
效果圖:
示例代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style media="screen"> *{ padding: 0; margin: 0; } ul,li { list-style: none; } img { vertical-align: top; } #box{ width: 400px; height: 100px; margin: 100px auto; background-color: pink; position: relative; overflow: hidden; } #box ul { width: 2000px; position: absolute; left: 0; top: 0; } #box li { float: left; } .aa { width: 200px; height: 100px; } .li-1{ background-color: #f6e659; } .li-2{ background-color: #57fa4f; } .li-3{ background-color: #3a8ef1; } .li-4{ background-color: #c057f1; } </style> </head> <body> <div id="box"> <ul> <li class="li-1 aa">li-1</li> <li class="li-2 aa">li-2</li> <li class="li-3 aa">li-3</li> <li class="li-4 aa">li-4</li> <li class="li-1 aa">li-5</li> <li class="li-2 aa">li-6</li> </ul> </div> </body> </html> <script type="text/javascript"> var box = document.getElementById("box"); var ul = box.children[0]; var num = 0; timer = setInterval(fn,10); function fn() { num--; num <= -800 ? num = 0 : num; ul.style.left = num + "px"; } </script>
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。