您好,登錄后才能下訂單哦!
小編這次要給大家分享的是詳解js如何使用圖片無縫滾動插件,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
css
ul { list-style: none; margin: 0; padding: 0; } .slide-img-ul { white-space: nowrap; } .slide-img-ul>li { width: 100px; height: 100px; margin: 10px; display: inline-block; vertical-align: middle } .slide-img-ul>li>img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; }
html
<div id="slideScroll"></div> <div id="slideFast"></div>
js
;(function(window , document) { function createImg(ele , opt) { var def = { arrImg: [ {src:'../img/LOGO.png' , id:'0'}, {src:'../img/zu.png' , id:'1'}, {src:'../img/zu.png' , id:'2'}, {src:'../img/zu.png' , id:'3'}, {src:'../img/zu.png' , id:'4'}, ] , currentData: 0, time: 50 //滑動速度 } //為ele添加css樣式 ele.style.width = '240px'; ele.style.height = '120px'; ele.style.overflow = 'hidden'; ele.style.border = '1px solid #eee'; ele.style.boxShadow = '0 0 8px 2px #eee'; ele.style.position = 'relative'; //Object.assign(target , source) 方法用于將所有可枚舉屬性的值從一個或多個源對象復制到目標對象 。 返回目標對象。 var obj = Object.assign(def , opt), _ul = document.createElement('ul'), str = '', demo _ul.setAttribute('class' , 'slide-img-ul') obj.arrImg.map((item , index) => { str+='<li><img src='+ item.src+' id='+item.id+'></li>' }) demo=str+str //復制該組圖片以達到無縫連接的視覺效果 _ul.innerHTML = demo ele.appendChild(_ul) var myWay = setInterval(function(){calData(_ul)}, obj.time) //定時器 function calData(element){ element.style.marginLeft = -(obj.currentData)+'px' obj.currentData++ //(為什么*120 ?)圖片總寬度(包括margin)為120px , 當第一組圖片剛好溢出父級時 , 父級marginLeft置0; if(obj.currentData > obj.arrImg.length*120 ) { obj.currentData = 0; } } ele.onmouseover = function() { clearInterval(myWay) } ele.onmouseout= function() { myWay = setInterval(function(){calData(_ul)}, obj.time) } } window.createImg = createImg }(window , document)) window.onload = function() { new createImg(document.getElementById('slideScroll')) new createImg(document.getElementById('slideFast') ,{time:10}) }
看完這篇關于詳解js如何使用圖片無縫滾動插件的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。