无缝滚动轮播

效果图:

实现的功能有:1.点击按钮实现换向。2.鼠标放到图片上,轮播停止移动。鼠标离开,轮播继续移动。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{ margin:0; padding:0}
#div2{ width:200px; margin-left:600px;}
#div1{
    width:928px; height:232px;
    margin:100px auto;
     background:red;
      position:relative;
       overflow:hidden;
    }
#div1 ul{ position:absolute; left:0; top:0;}
#div1 ul li{ float:left; width:232px; height:232px; list-style:none;}
</style>
</head>

<body>
<div id="div1">
    <ul>
        <li><img src="img/1.jpg"></li>
        <li><img src="img/2.jpg"></li>
        <li><img src="img/3.jpg"></li>
        <li><img src="img/4.jpg"></li>
        
    </ul>
</div>
<br />
<div id="div2"><input type="button" value="向左走" />
<input type="button" value="向右走" /></div>
</body>
</html>
View Code

js代码:

<script type="text/javascript">
window.onload=function(){
        var oDiv=document.getElementById("div1");
        var oDiv2=document.getElementById("div2");
        var oUl=oDiv.getElementsByTagName("ul")[0];
        var aLi=oUl.getElementsByTagName('li');
        var speed=2;//调整轮播的速度
        oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
        oUl.style.width=aLi[0].offsetWidth*aLi.length+"px";
        function move(){
            if(oUl.offsetLeft<-oUl.offsetWidth/2){
                    oUl.style.left='0';
                }
                if(oUl.offsetLeft>0){
                    oUl.style.left=-oUl.offsetWidth/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);
                    }
            oDiv2.getElementsByTagName('input')[0].οnclick=function(){
                            speed=-2;
                        }
            oDiv2.getElementsByTagName('input')[1].οnclick=function(){
                            speed=2;
                        }
                        
    }
</script>
View Code

通过修改变量speed可以修改轮播的速度。offsetWidth:是获取宽度。offsetLeft:获取左边的距离。

 

转载于:https://www.cnblogs.com/zxl89/p/6289767.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值