search

Home  >  Q&A  >  body text

关于设置obj的opacity,一直失败

var timer = null;
    function touming(obj,num){
        clearInterval(timer);
        timer = setInterval(function(){
            var speed = (num - obj.style.opacity)*100/5;
            speed = speed>0 ? Math.ceil(speed) : Math.floor(speed);
            if(obj.style.opacity == num){
                clearInterval(timer);
            }else{
                obj.style.opacity = obj.style.opacity + speed/100;
            }
        },100)
    }
    

想要通过传进去一个对象设置它的opacity,结果一直失败.经过调试发现只有第一次的时候能够成功设置,之后每次进else设置之后对象的opacity的值并没有改变.是为什么呢?


高洛峰高洛峰2932 days ago907

reply all(1)I'll reply

  • 三叔

    三叔2016-11-19 14:22:27

    obj.style.opacity 的获取值是字符串,而非数字, 所以+号操作得不到你想要的值, parseFloat一下即可

    reply
    0
  • Cancelreply