js圖片無縫滾動(dòng)插件使用詳解
本文實(shí)例為大家分享了js圖片無縫滾動(dòng)插件的具體代碼,供大家參考,具體內(nèi)容如下
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 //滑動(dòng)速度
}
//為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) 方法用于將所有可枚舉屬性的值從一個(gè)或多個(gè)源對(duì)象復(fù)制到目標(biāo)對(duì)象 。 返回目標(biāo)對(duì)象。
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 //復(fù)制該組圖片以達(dá)到無縫連接的視覺效果
_ul.innerHTML = demo
ele.appendChild(_ul)
var myWay = setInterval(function(){calData(_ul)}, obj.time) //定時(shí)器
function calData(element){
element.style.marginLeft = -(obj.currentData)+'px'
obj.currentData++
//(為什么*120 ?)圖片總寬度(包括margin)為120px , 當(dāng)?shù)谝唤M圖片剛好溢出父級(jí)時(shí) , 父級(jí)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})
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于javascript的無縫滾動(dòng)動(dòng)畫1
- javascript單張多張圖無縫滾動(dòng)實(shí)例代碼
- JS實(shí)現(xiàn)單張或多張圖片持續(xù)無縫滾動(dòng)的示例代碼
- 純js實(shí)現(xiàn)無縫滾動(dòng)功能代碼實(shí)例
- JavaScript基于面向?qū)ο髮?shí)現(xiàn)的無縫滾動(dòng)輪播示例
- 原生JavaScript實(shí)現(xiàn)的無縫滾動(dòng)功能詳解
- js實(shí)現(xiàn)無縫滾動(dòng)雙圖切換效果
- JS實(shí)現(xiàn)簡單的文字無縫上下滾動(dòng)功能示例
- JavaScript實(shí)現(xiàn)圖片無縫滾動(dòng)效果
- js實(shí)現(xiàn)文字列表無縫滾動(dòng)效果
- js輪播圖無縫滾動(dòng)效果
- 基于javascript的無縫滾動(dòng)動(dòng)畫實(shí)現(xiàn)2
相關(guān)文章
一個(gè)php+js實(shí)時(shí)顯示時(shí)間問題
本文給大家分享的是解決的php+js實(shí)時(shí)顯示時(shí)間問題,主要是自己當(dāng)時(shí)的理解有問題,也許大家有和我一樣的情況,這里分享給大家2015-10-10
js利用prototype調(diào)用Array的slice方法示例
這篇文章主要介紹了如何利用js的prototype調(diào)用Array的slice方法,需要的朋友可以參考下2014-06-06
JS實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)小功能
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
JS函數(shù)內(nèi)部屬性之a(chǎn)rguments和this實(shí)例解析
在函數(shù)內(nèi)部,有兩個(gè)特殊的對(duì)象:arguments和this。這篇文章主要介紹了函數(shù)內(nèi)部屬性之a(chǎn)rguments和this ,需要的朋友可以參考下2018-10-10
JavaScript中Array.map()的使用與技巧分享(附實(shí)際應(yīng)用代碼)
Array.map()適合需要返回新數(shù)組、進(jìn)行鏈?zhǔn)秸{(diào)用或不修改原數(shù)組的場景,它與forEach()的區(qū)別在于有返回值,基本語法中,callback函數(shù)處理每個(gè)元素并返回新值,本文介紹了JavaScript中Array.map()的使用與技巧分享(附實(shí)際應(yīng)用代碼),需要的朋友可以參考下2025-02-02
asp javascript 實(shí)現(xiàn)關(guān)閉窗口時(shí)保存數(shù)據(jù)的辦法
asp javascript 實(shí)現(xiàn)關(guān)閉窗口時(shí)保存數(shù)據(jù)的辦法...2007-11-11

