js图片滑动展示
2020-12-16 22:11
阅读:413
YPE html>
标签:样式 列表 length list ntb 控制 方法 func tee
gitee地址
https://gitee.com/ElevenHuntOne/js-image-slide
html
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)
});
完整代码
Document
js图片滑动展示
标签:样式 列表 length list ntb 控制 方法 func tee
原文地址:https://www.cnblogs.com/zhangA/p/14121105.html
评论
亲,登录后才可以留言!