<script type="text/javascript">
window.onload=function(){
var oDiv1=document.getElementById('div3');
var aUl=oDiv1.getElementsByTagName('ul')[0]; //?
var aLi=aUl.getElementsByTagName('li');
var speed=-3;
aUl.innerHTML=aUl.innerHTML+aUl.innerHTML;
aUl.style.width=aLi[0].offsetWidth*aLi.length+'px';
function move(){
if(aUl.offsetLeft<-aUl.offsetWidth/2){
aUl.style.left='0';
}
if(aUl.offsetLeft>0){
aUl.style.left=-aUl.offsetWidth/2+'px';
}
aUl.style.left=aUl.offsetLeft+speed+'px';
}
var timer=setInterval(move,100);
oDiv1.onmouseover=function(){
clearInterval(timer);
}
oDiv1.onmouseout=function(){
timer=setInterval(move,100);
}
var oDiv2=document.getElementById('div4');
var aUl2=oDiv2.getElementsByTagName('ul')[0]; //?
var aLi2=aUl2.getElementsByTagName('li');
var speed2=-3;
aUl2.innerHTML=aUl2.innerHTML+aUl2.innerHTML;
aUl2.style.width=aLi2[0].offsetWidth*aLi2.length+'px';
function move2(){
if(aUl2.offsetLeft<-aUl2.offsetWidth/2){
aUl2.style.left='0';
}
if(aUl2.offsetLeft>0){
aUl2.style.left=-aUl2.offsetWidth/2+'px';
}
aUl2.style.left=aUl2.offsetLeft+speed2+'px';
}
var timer2=setInterval(move2,100);
oDiv2.onmouseover=function(){
clearInterval(timer2);
}
oDiv2.onmouseout=function(){
timer2=setInterval(move2,100);
}
}
结果:aUl2.innerHTML=aUl2.innerHTML+aUl2.innerHTML;该操作的目标元件无效。
在js中,window.onload中加载两个相同的特效,下面的特效会把上面的特效覆盖,道理类似于赋值;在css中,多个同一级别的选择器应用于同一标记,如果不发生冲突则全部生效,如果发生冲突则下面的会覆盖上面的,语言中的思想都是相通的
是aUl本身的问题吧。
怎么解决啊