JS动画效果课程里的完美运动框架那节,照着写但是带入运行的时候没反应,能不能帮忙看一下我有没有写错么?谢谢了

function getStyle(obj,attr){
    if (obj.currentStyle) {
        return obj.currentStyle[attr];
    }
    else{
        return getComputedStyle(obj,false)[attr];
    }
}

function startMove(obj,json,fn){
    var flag = true;
    clearInterval(obj.timer);
    obj.timer = setInterval(function(){
        for(var attr in json){
            
            var iCur = 0;
            if(attr == "opacity"){
                iCur=Math.round(parseFloat(getStyle(obj,attr))*100);
            }
            else{
                iCur = parseInt(getStyle(obj,attr));
            }
            
            var iSpeed = (json[attr]-iCur)/8
            iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);

            
            if (iCur != json[attr]) {
                flag = false;
            }
            if(attr == "opacity"){
                obj.style.filter="alpha(opacity:'+iCur+iSpeed+)+')";
                obj.style.opacity=(iCur+iSpeed)/100;
            }
            else{
                obj.style[attr]=iCur+iSpeed+"px";
            }
        }
        if(flag){
            clearInterval(obj.timer);
            if(fn){
                fn();  
            }
        }

    },30)
}

Missvia
浏览 1528回答 2
2回答

伊望岁月

obj.style.filter="alpha(opacity:'+iCur+iSpeed+)+')"; 改成obj.style.filter="alpha(opacity:"+iCur+iSpeed+")";

李晓健

iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);目测这行后面的分号是中文的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript