问答详情
源自:4-3 任意属性值(一)

为什么鼠标移开后,width到256px就不再减少了?

JS动画效果 4-3任意属性值(一)

提问者:di7xian 2016-12-01 11:08

个回答

  • 方衡
    2016-12-01 11:27:38

    你可以封装一个函数来得到当前元素的宽度,就不会受边框宽度的影响了。

    //获取样式

    function getStyle(obj,attr){

    if(obj.currentStyle){

    return obj.currentStyle[attr];//IE

    }else{

    return getComputedStyle(obj,false)[attr];//firefox

    }

    这样来进行运动obj为运动的元素

    obj.style.width=parseInt(getStyle(obj,"width"))-1+"px";

  • 方衡
    2016-12-01 11:24:48

    因为你设置了边框宽度为4,当前元素的宽度就变成了208px,计时器每执行一次,都给你加了8px,所以最后会多56px