本文實例為大家分享了JavaScript實現無縫滾動效果展示的具體代碼,供大家參考,具體內容如下
首先應該區分樣式中的絕對定位和相對定位,一般來說,移動的單位為絕對定位,在這個實例中,移動的Ul就是絕對定位 ,否則它根本無法滾動,而它相對于div1滾動 ,則div1就作為他的相對定位。
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;這段代碼是實現無縫滾動的核心,使之可以在不論左右滾動的時候都有下一步圖片接上去。
在操作或者進行比較的時候,都要用offset取值來進行操作或者比較!!!
代碼:
無縫滾動2*{
padding: 0;
margin:0;
}
#div1{
position: relative;
width: 800px;
height: 200px;
background:red;
margin:100px auto;
overflow: hidden;
}
#div1 ul{
position: absolute;
left: 0;
top: 0;
}
#div1 ul li{
float: left;
list-style: none;
width: 200px;
height: 200px;
}
window.οnlοad=function()
{
var oDiv = document.getElementById('div1');
var oUl = oDiv.getElementsByTagName('ul')[0];
var aLi = oDiv.getElementsByTagName('li');
var aA = document.getElementsByTagName('a');
var speed = 3;
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
oUl.style.width=aLi.length*aLi[0].offsetWidth+'px';
var timer=setInterval(move,30);
function move()
{
if (oUl.offsetLeft<=-oUl.offsetWidth/2) {
oUl.style.left="0";
}
if(oUl.offsetLeft>0){
oUl.style.left=-oUl.offsetWidth/2+'px';
}
oUl.style.left=oUl.offsetLeft+speed+'px';
};
oDiv.οnmοuseοver=function()
{
clearInterval(timer);
};
oDiv.οnmοuseοut=function()
{
timer=setInterval(move,30);
};
aA[0].οnclick=function()
{
speed=-3;
};
aA[1].οnclick=function()
{
speed=3;
};
};
向左
向右
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。