雪歌
2016-07-21 15:24
window.onload=function(){
// var aLi = document.getElementsByTagName('li');
// for(var i=0;i<aLi.length;i++){
// aLi[i].timer = null;
// aLi[i].onmouseover = function(){
// startMove(this,400);
// }
// aLi[i].onmouseout = function(){
// startMove(this,200);
// }
// }
var Li1=document.getElementById('li1');
Li1.onmouseover = function (){
startMove(this,'opacity',100);
}
Li1.onmouseout = function (){
startMove(this,'opacity',30);
}
}
var alpha = 30;
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
function startMove(obj,attr,iTarget){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var icur = 0;
if(attr == 'opacity'){
icur = parseFloat(getStyle(obj.attr))*100;
}
else{
icur = parseInt(getStyle(obj,attr));
}
var speed = (iTarget-icur)/8;
speed>0?Math.ceil(speed):Math.floor(speed);
if(icur == iTarget){
clearInterval(obj.timer);
}
else{
if(attr =='opacity'){
obj.style.filter = 'alpha(opacity:'(icur + speed) + ')';
obj.style.opacity = (icur + speed)/100;
}
else{
obj.style[attr] = icur + speed +'px';
}
}
},30)
}
第二个错误是自己一直在增长,可怕
这问题和我的竟然一样,
icur = parseFloat(getStyle(obj.attr))*100; 这里参数用逗号分隔,你写成点了
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else
{
return getComputedStyle(obj,false)[attr];
}
}
你这个怎么没有 ,好像少了个这个
JS动画效果
113925 学习 · 1443 问题
相似问题