首頁 >web前端 >js教程 >javascript實現左右控制無縫滾動_javascript技巧

javascript實現左右控制無縫滾動_javascript技巧

WBOY
WBOY原創
2016-05-16 16:22:431365瀏覽

無縫滾動是專案中經常需要用到的一種特效,網路上也有很多的範例程式碼,這裡給大家分享的是一段比較簡單實用的,而且相容性也不錯的程式碼,小夥伴們仔細研究下吧。

html 代碼:

複製程式碼 程式碼如下:

html>
head lang="en">
    meta charset="UTF-8">
    title>無縫滾動title>
    script src="js/0010.js">script>
    link rel="stylesheet" type="text/css" href="css/0010.css" />
head>
body>
   a href="javascript:">往左走a>
   a href="javascript:">往右走a>
   div id="div1">
       ul>
           li>img src="image/1.jpg">li>
           li>img src="image/2.jpg">li>
           li>img src="image/3.jpg">li>
           li>img src="image/4.jpg">li>
       ul>
   div>
body>
html>

CSS代碼

複製程式碼 程式碼如下:

*{
    margin:0;
    padding: 0;
}
#div1{
    overflow: hidden;
    background: blue;
    position: relative;
    width: 600px;
    height: 150px;
    margin:100px auto;
}
#div1 ul{
    position: absolute;
    left: 0px;
    top: 0px;
    list-style: none;
}
#div1 ul li{
    float: left;
}
#div1 ul li img{
    width:150px;
    height:150px;
}

js:程式碼

複製程式碼 程式碼如下:

window.onload=function(){
    var oDiv=document.getElementById('div1');
    var oUl=oDiv.getElementsByTagName('ul')[0];
    var aLi=oUl.getElementsByTagName('li');
    var timer=null;
    var speed=2;//控制滾動速度以及方向
    oUl.innerHTML=oUl.innerHTML oUl.innerHTML;
    oUl.style.width=aLi[0].offsetWidth*aLi.length 'px';
    timer=setInterval(move,30);
    oDiv.onmouseover=function(){//滑鼠移入暫定
        clearInterval(timer);
    };
    oDiv.onmouseout=function(){//滑鼠移出繼續滾動
        timer=setInterval(move,30);
    }
    document.getElementsByTagName('a')[0].onclick=function(){
        speed=-2;
    }
    document.getElementsByTagName('a')[1].onclick=function(){
        speed=2;
    }
    function move(){//圖片滾動
        if(oUl.offsetLeft             oUl.style.left=0;
        }
        if(oUl.offsetLeft>0){
            oUl.style.left=-oUl.offsetWidth/2 'px';
        }
        oUl.style.left=oUl.offsetLeft speed 'px';
    }
}

效果是不是非常棒呢。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn