首页 新闻 搜索 专区 学院

js中一个window.onload中可以加载两个相同的特效吗

0
悬赏园豆:10 [已解决问题] 解决于 2015-03-04 14:58

<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;该操作的目标元件无效。 

rain92的主页 rain92 | 初学一级 | 园豆:166
提问于:2015-02-14 10:51
< >
分享
最佳答案
0

在js中,window.onload中加载两个相同的特效,下面的特效会把上面的特效覆盖,道理类似于赋值;在css中,多个同一级别的选择器应用于同一标记,如果不发生冲突则全部生效,如果发生冲突则下面的会覆盖上面的,语言中的思想都是相通的

rain92 | 初学一级 |园豆:166 | 2015-03-04 14:56
其他回答(1)
0

是aUl本身的问题吧。

收获园豆:10
nicky0227 | 园豆:1069 (小虾三级) | 2015-02-14 16:25

怎么解决啊

支持(0) 反对(0) rain92 | 园豆:166 (初学一级) | 2015-02-14 17:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册