滚动图片
实现的效果就是 一排图片自动横向滚动,鼠标指向的时候,暂定滚动,鼠标离开,继续滚动
<p id="p1">
<ul>
<li><img src="img/logo-black.png" alt=""></li>
<li><img src="img/logo-black.png" alt=""></li>
<li><img src="img/logo-black.png" alt=""></li>
<li><img src="img/logo-black.png" alt=""></li>
</ul>
</p>
CSS代码:
*{
margin: 0;
padding: 0;
}
#p1{
width: 712px;
height: 108px;
margin: 100px auto;
position: relative;
overflow: hidden;
}
#p1 ul{
position:absolute;
left: 0;
top: 0;
}
#p1 ul li {
float: left;
width: 178px;
height: 108px;
list-style: none;
margin-left: 10px;
}
JS代码:
<script>
window.onload=function(){
var oDiv = document.getelementbyid('p1');
var oUl = document.getElementsByTagName('ul')[0];
var Li = oUl.getElementsByTagName('li');//获取ul下的所有li
oUl.innerHTML = oUl.innerHTML+oUl.innerHTML;//li下的内容进行想加
oUl.style.width = Li[0].offsetwidth*Li.length+'px';//ul的宽度等于每个li的宽度乘以所有li的长度
var speed = 2
//主方法
function move(){
//如果左边横向滚动了长度一半之后,回到初始位置
if(oUl.offsetleft<-oUl.offsetWidth/speed){
oUl.style.left = '0'
}
//如果右边横向滚动的距离大于0 就让他的位置回到一半
if(oUl.offsetLeft>0){
oUl.style.left = -oUl.offsetWidth/speed+'px';
}
//oUl.style.left = oUl.offsetLeft-2+'px';//进行左横向滚动
oUl.style.left = oUl.offsetLeft+speed+'px';//进行右横向滚动
}
//调用方法
var timer = setInterval(move,30)
//鼠标指向的时候 暂停
oDiv.onmouseover=function(){
clearinterval(timer);
}
//鼠标离开之后 继续滚动
oDiv.onmouseout=function(){
timer = setInterval(move,30)
}
}
</script>
主要思路就是,给一个延时定时器,根据offsetLeft的变化进行横向滚动,代码的讲解都在注释中,快来试一下吧
相关阅读
JSP开发之JSP 标准标签库(JSTL)之格式化标签formatNumbe
JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下: <%@ taglib prefix="fmt" ur
第一次写,感觉很乱,后面直接上代码吧,代码也有注释,想看思路的朋友可以看前面。有什么建议和意见欢迎砸过来。功能:1、客服需登录进入
最近因项目需求,需要在App中集成二维码扫描的功能。网上找了很多资料,最后决定使用Google的zxing来实现。实现的过程遇到了很多的坑
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="t
国外免费高清大图,摄影图片-惊人的免费图片https://pix
https://pixabay.com