js图片滑动展示

  • A+
所属分类:Web前端
摘要

https://gitee.com/ElevenHuntOne/js-image-slide


gitee地址

https://gitee.com/ElevenHuntOne/js-image-slide

html

<!-- html里只用写一个div就行了,带上id为imgs -->     <div id = "imgs"></div> 

css

        /* 样式 */         #imgs {             margin-left: 10%;             width: 80%;             height: 240px;             margin-top: 80px;             background-color: azure;             position: relative;             overflow: hidden;         }         #imgs ul {             position: absolute;             padding: 0;         }         #imgs ul li {             float: left;             list-style: none;             width: 260px;             height: 200px;         }         #imgs ul li img{             width: 240px;             height: 200px;         } 

js

    // 滑动方法     function scroll(to, time) {         $("#imgs").find("ul").stop().animate({left:  to +  "px"}, time)     }     // 初始化方法     $(function() {         // 图片列表         const imgList = ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg']         // 滑动速度         const speed = 800         // 获取div然后循环往里边插入ul、li、img         let div = document.getElementById("imgs")         let ul = document.createElement("ul")         ul.style.left = div.offsetWidth + "px"         ul.style.width = 260 * imgList.length + "px"         div.appendChild(ul)         let toLeft = div.offsetWidth - 260 * imgList.length         for(i in imgList) {             imgPath = imgList[i]             let li = document.createElement("li")             let img = document.createElement("img")             img.src = imgPath             li.appendChild(img)             ul.appendChild(li)         }         let time = speed * imgList.length         let time1 = parseInt( (20 - toLeft) / 260 * speed)         scroll(toLeft, time)         // 通过计时器控制循环左右滑动         setTimeout("scroll(20, " + time1 + ")", time)         setTimeout("scroll(" + toLeft + ", " + time1 + ")", time + time1)         setTimeout("setInterval('scroll(" + 20 + ", " + time1 + ");', "+ time1 * 2 +")", time)         setTimeout("setInterval('scroll(" + toLeft + ", " + time1 + ");', "+ time1 * 2 +")", time + time1)     }); 

完整代码

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>     <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"></script>     <style>         /* 样式 */         #imgs {             margin-left: 10%;             width: 80%;             height: 240px;             margin-top: 80px;             background-color: azure;             position: relative;             overflow: hidden;         }         #imgs ul {             position: absolute;             padding: 0;         }         #imgs ul li {             float: left;             list-style: none;             width: 260px;             height: 200px;         }         #imgs ul li img{             width: 240px;             height: 200px;         }     </style> </head> <body>      <!-- html里只用写一个div就行了,带上id为imgs -->     <div id = "imgs"></div>   </body> <script>     // 滑动方法     function scroll(to, time) {         $("#imgs").find("ul").stop().animate({left:  to +  "px"}, time)     }     // 初始化方法     $(function() {         // 图片列表         const imgList = ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg']         // 滑动速度         const speed = 800         // 获取div然后循环往里边插入ul、li、img         let div = document.getElementById("imgs")         let ul = document.createElement("ul")         ul.style.left = div.offsetWidth + "px"         ul.style.width = 260 * imgList.length + "px"         div.appendChild(ul)         let toLeft = div.offsetWidth - 260 * imgList.length         for(i in imgList) {             imgPath = imgList[i]             let li = document.createElement("li")             let img = document.createElement("img")             img.src = imgPath             li.appendChild(img)             ul.appendChild(li)         }         let time = speed * imgList.length         let time1 = parseInt( (20 - toLeft) / 260 * speed)         scroll(toLeft, time)         // 通过计时器控制循环左右滑动         setTimeout("scroll(20, " + time1 + ")", time)         setTimeout("scroll(" + toLeft + ", " + time1 + ")", time + time1)         setTimeout("setInterval('scroll(" + 20 + ", " + time1 + ");', "+ time1 * 2 +")", time)         setTimeout("setInterval('scroll(" + toLeft + ", " + time1 + ");', "+ time1 * 2 +")", time + time1)     }); </script> </html>