JavaScript定時(shí)器實(shí)現(xiàn)無(wú)縫滾動(dòng)圖片
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)無(wú)縫滾動(dòng)圖片的具體代碼,供大家參考,具體內(nèi)容如下

文本:
- setInterval 開啟間隔型定時(shí)器
- clearTimeout 關(guān)閉定時(shí)器
- offsetWidth 獲取寬度
- offsetLeft 獲取向左偏移量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>無(wú)縫移動(dòng)</title>
<style>
*{margin: 0; padding: 0;}
#div1{width:520px; height:170px; margin:20px auto; position: relative; /* !!! div1 的位置是相對(duì)的 */
background: pink; overflow: hidden} /* !!! overflow: hidden */
#div1 ul{position: absolute; left:0; top:0;} /* !!! ul 的 position:絕對(duì)的,控制left的值 */
#div1 ul li{float:left; width:130px; height:170px; list-style: none}
</style>
<script>
window.onload=function () {
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var speed = 2;
oUl.innerHTML+=oUl.innerHTML; // 相當(dāng)于 4*2 張圖像在移動(dòng)
oUl.style.width=aLi[0].offsetWidth * aLi.length + 'px'; // !!!!!! offsetWidth
function Move() {
if(oUl.offsetLeft < - oUl.offsetWidth/2){ // 移動(dòng)到左邊的一半 就 回來(lái)
oUl.style.left='0';
}
if(oUl.offsetLeft>0){ // // 移動(dòng)到右邊的一半就回來(lái)
oUl.style.left = - oUl.offsetWidth/2 +'px';
}
oUl.style.left=oUl.offsetLeft + speed + 'px'; // !!!!!!!! offsetLeft
}
var Timer1= setInterval(Move, 30); // setInterval 開啟間隔型定時(shí)器
oDiv.onmouseover=function () {
clearTimeout(Timer1);
};
oDiv.onmouseout=function () {
Timer1=setInterval(Move, 30);
};
document.getElementsByTagName('a')[0].onclick=function () {
speed=-2; // 向左的速度
};
document.getElementsByTagName('a')[1].onclick=function () {
speed=2; // 向右的速度
};
};
</script>
</head>
<body>
<a href="javascript:;" >向左移動(dòng)</a>
<a href="javascript:;" >向右移動(dòng)</a>
<div id="div1">
<ul>
<li><img src="img/aa.jpg"/></li>
<li><img src="img/bb.jpg"/></li>
<li><img src="img/cc.jpg"/></li>
<li><img src="img/dd.jpg"/></li>
</ul>
</div>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實(shí)現(xiàn)StringBuffer的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)StringBuffer的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
js實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
使用egg.js實(shí)現(xiàn)手機(jī)、驗(yàn)證碼注冊(cè)的項(xiàng)目實(shí)踐
本文主要介紹了使用egg.js實(shí)現(xiàn)手機(jī)、驗(yàn)證碼注冊(cè)的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
JS可視化學(xué)習(xí)向量計(jì)算點(diǎn)到線段的距離并展示
這篇文章主要為大家介紹了JS可視化學(xué)習(xí)向量計(jì)算點(diǎn)到線段的距離并展示實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
JS實(shí)現(xiàn)手機(jī)號(hào)脫敏的方法詳解
脫敏指的是通過(guò)特定的技術(shù)手段對(duì)敏感數(shù)據(jù)進(jìn)行處理,使其不再直接暴露給用戶或系統(tǒng),防止敏感信息泄露,通常在測(cè)試、開發(fā)、數(shù)據(jù)處理等場(chǎng)景中使用,本文給大家介紹了JS實(shí)現(xiàn)手機(jī)號(hào)脫敏的方法,需要的朋友可以參考下2025-03-03
JavaScript 十六進(jìn)制RGB色碼轉(zhuǎn)換器
JavaScript 十六進(jìn)制RGB色碼轉(zhuǎn)換器,大家可以學(xué)習(xí)下思路。2009-08-08
利用了jquery的ajax實(shí)現(xiàn)二級(jí)聯(lián)互動(dòng)菜單
二級(jí)聯(lián)互動(dòng)菜單,利用了jquery的ajax實(shí)現(xiàn),具體實(shí)現(xiàn)如下,喜歡的朋友可以參考下2013-12-12
uniapp打開地圖直接獲取位置的實(shí)現(xiàn)代碼
這篇文章主要介紹了uniapp打開地圖直接獲取位置的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-08-08

