您好,登錄后才能下訂單哦!
這篇文章主要介紹純js怎么實現無縫滾動功能代碼,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
HTML代碼
<!--父容器要使用overflow: hidden;--> <div id="imgsList" > <!--滾動容器--> <div id="marquee_self"> <ul id="marquee_ul"> <li><img src="" width="180px" height="100px"></li> <li><img src="" width="180px" height="100px"></li> <li><img src="" width="180px" height="100px"></li> </ul> </div> </div>
CSS代碼
#marquee_self *{ margin: 0; padding: 0; } #marquee_self{ width: 1620px; //所有圖片長度個數*width height: 100px; //圖片高度 //margin: 100px auto; 居中 background-color: #646464; position: relative; overflow: hidden; } #marquee_self ul{ position:absolute; left:0; top:0; overflow: hidden; //li中超出部分隱藏掉 background-color: #3b7796; //背景色用來看問題 } #marquee_self ul li{ float: left; //左對齊變為圖片水平 width: 180px; //圖片寬度 height: 100px; //圖片高度 list-style: none; //無間隙 }
JS代碼
<script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById('marquee_self'); //容器節點 var oUl = document.getElementById('marquee_ul'); //ul節點 var speed = -2; //初始化速度,默認往左 oUl.innerHTML += oUl.innerHTML;//ul中圖片內容翻倍 var oLi= oUl.getElementsByTagName('li'); //獲取ul節點下所有li集合 oUl.style.width = oLi.length*180+'px';//設置ul的寬度翻倍后的寬度,使圖片可以放下 /*var oBtn1 = document.getElementById('btn_left'); 左移動按鈕 var oBtn2 = document.getElementById('btn_right'); 右移動按鈕*/ function move(){ if(oUl.offsetLeft<-(oUl.offsetWidth/2)){ //向左滾動,當向左滾動超過總ul長度一半時 oUl.style.left = 0; //變為從頭開始 } if(oUl.offsetLeft > 0){ //向右滾動,當靠右的圖1移出邊框時 oUl.style.left = -(oUl.offsetWidth/2)+'px'; } oUl.style.left = oUl.offsetLeft + speed + 'px'; //圖片移動 } /*oBtn1.addEventListener('click',function(){ //向左移動按鈕點擊事件 speed = -2; },false); oBtn2.addEventListener('click',function(){ //向右移動按鈕點擊事件 speed = 2; },false);*/ var timer = setInterval(move,30);//全局變量 ,保存返回的定時器 oDiv.addEventListener('mouseout', function () { //鼠標移開添加計時器 timer = setInterval(move,30); },false); oDiv.addEventListener('mousemove', function () { //鼠標移入清除定時器 clearInterval(timer); },false); } </script>
以上是“純js怎么實現無縫滾動功能代碼”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。