純js實(shí)現(xiàn)無縫滾動(dòng)功能代碼實(shí)例
這篇文章主要介紹了純js實(shí)現(xiàn)無縫滾動(dòng)功能代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
HTML代碼
<!--父容器要使用overflow: hidden;-->
<div id="imgsList" style="height:150px;width:980px;overflow: hidden;">
<!--滾動(dòng)容器-->
<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; //所有圖片長度個(gè)數(shù)*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; //左對(duì)齊變?yōu)閳D片水平
width: 180px; //圖片寬度
height: 100px; //圖片高度
list-style: none; //無間隙
}
JS代碼
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('marquee_self'); //容器節(jié)點(diǎn)
var oUl = document.getElementById('marquee_ul'); //ul節(jié)點(diǎn)
var speed = -2; //初始化速度,默認(rèn)往左
oUl.innerHTML += oUl.innerHTML;//ul中圖片內(nèi)容翻倍
var oLi= oUl.getElementsByTagName('li'); //獲取ul節(jié)點(diǎn)下所有l(wèi)i集合
oUl.style.width = oLi.length*180+'px';//設(shè)置ul的寬度翻倍后的寬度,使圖片可以放下
/*var oBtn1 = document.getElementById('btn_left'); 左移動(dòng)按鈕
var oBtn2 = document.getElementById('btn_right'); 右移動(dòng)按鈕*/
function move(){
if(oUl.offsetLeft<-(oUl.offsetWidth/2)){ //向左滾動(dòng),當(dāng)向左滾動(dòng)超過總ul長度一半時(shí)
oUl.style.left = 0; //變?yōu)閺念^開始
}
if(oUl.offsetLeft > 0){ //向右滾動(dòng),當(dāng)靠右的圖1移出邊框時(shí)
oUl.style.left = -(oUl.offsetWidth/2)+'px';
}
oUl.style.left = oUl.offsetLeft + speed + 'px'; //圖片移動(dòng)
}
/*oBtn1.addEventListener('click',function(){ //向左移動(dòng)按鈕點(diǎn)擊事件
speed = -2;
},false);
oBtn2.addEventListener('click',function(){ //向右移動(dòng)按鈕點(diǎn)擊事件
speed = 2;
},false);*/
var timer = setInterval(move,30);//全局變量 ,保存返回的定時(shí)器
oDiv.addEventListener('mouseout', function () { //鼠標(biāo)移開添加計(jì)時(shí)器
timer = setInterval(move,30);
},false);
oDiv.addEventListener('mousemove', function () { //鼠標(biāo)移入清除定時(shí)器
clearInterval(timer);
},false);
}
</script>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于javascript的無縫滾動(dòng)動(dòng)畫1
- javascript單張多張圖無縫滾動(dòng)實(shí)例代碼
- JS實(shí)現(xiàn)單張或多張圖片持續(xù)無縫滾動(dòng)的示例代碼
- JavaScript基于面向?qū)ο髮?shí)現(xiàn)的無縫滾動(dòng)輪播示例
- 原生JavaScript實(shí)現(xiàn)的無縫滾動(dòng)功能詳解
- js實(shí)現(xiàn)無縫滾動(dòng)雙圖切換效果
- js圖片無縫滾動(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)文章
JavaScript檢查數(shù)字是否為整數(shù)或浮點(diǎn)數(shù)的方法
這篇文章主要介紹了JavaScript檢查數(shù)字是否為整數(shù)或浮點(diǎn)數(shù)的方法,涉及javascript類型判斷的相關(guān)技巧,需要的朋友可以參考下2015-06-06
JS實(shí)現(xiàn)簡易的圖片拖拽排序?qū)嵗a
這篇文章主要介紹了JS實(shí)現(xiàn)簡易的圖片拖拽排序?qū)嵗a,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
一個(gè)級(jí)聯(lián)菜單代碼學(xué)習(xí)及removeClass與addClass的應(yīng)用
最近在學(xué)些web前段的知識(shí),看見博客園首頁左側(cè)的一個(gè)級(jí)聯(lián)菜單,很是好奇,于是想自己實(shí)現(xiàn)以下,代碼書寫很簡潔而且易懂,感興趣的朋友可以了解下,希望本文對(duì)你學(xué)習(xí)級(jí)聯(lián)菜單有所幫助2013-01-01
JS刪除數(shù)組中某個(gè)元素的四種方式總結(jié)
js刪除指定元素方法有很多,下面這篇文章主要給大家介紹了關(guān)于JS刪除數(shù)組中某個(gè)元素的四種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
AJAX異步從優(yōu)酷專輯中采集所有視頻及信息(JavaScript代碼)
上次寫了一個(gè) .NET從優(yōu)酷專輯中采集所有視頻及信息(VB.NET代碼)2010-11-11
javascript (用setTimeout而非setInterval)
javascript (用setTimeout而非setInterval)如果用setInterval 可能出現(xiàn) 下次調(diào)用會(huì)在前一次調(diào)用前調(diào)用2011-12-12
javaScript實(shí)現(xiàn)復(fù)選框全選反選事件詳解
這篇文章主要為大家詳細(xì)介紹了javaScript實(shí)現(xiàn)復(fù)選框全選反選事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09

