qq_GreenOrRed_0
2016-09-10 20:27
var oDiv=document.getElementById('div1');
为什么吧带标志 // 的这行写在function里就有效 写在外面当成全局变量就无效呢 就显示说没定义?
window.onload=function(){
var oDiv=document.getElementById('div1'); //
oDiv.onmouseover=function(){
startMove(100);
}
oDiv.onmouseout=function(){
startMove(30);
}
}
function startMove(){
var oDiv=document.getElementById('div1'); //
clearInterval(timer);
timer=setInterval(function(iTarget){
if(alpha==iTarget)
{clearInterval(timer);}
else
{
alpha<iTarget?speed=10:speed=-10;
alpha=alpha+speed;
oDiv.style.opacity=alpha/100;
oDiv.style.filter='alpha(opacity:'+alpha+')';
}
},30)
}
嗯...
Html执行代码的格式是重上往下执行,而window.onload函数是页面加载完后执行,所以,当页面加载完后,并不会执行window.onload上面的var oDiv=document.getElementById('div1');这一行代码,只会执行里面的程序代码。。。
打开浏览器就先直接加载window.onload函数
如果把这行放到onload里应该是可行的 不用再在function里面定义
JS动画效果
113923 学习 · 1443 问题
相似问题