为什么我不加判断宽度到400px照样停止呢

来源:4-4 任意属性值(二)

qq_像苏_03760108

2016-09-10 17:43

if(iTarget==iCur){

clearInterval(obj.timer)

}else{


写回答 关注

2回答

  • lanrtop
    2016-09-11 06:11:13
    已采纳

    不好意思,我没能完全理解你的问题。请把你修改后的代码粘贴上来。

    但我猜你想说的是【把清除计时器给注释掉后,还是可以到400px停止】这个意思吗?

    如果不是,请再一次详细描述您的问题。如果我猜对了,就请看下面的解答。

    以下是判断icur(从style中调取的属性值) 与iTarget(目标值)的if判断。

    if(icur == iTarget){

                //clearInterval(obj.timer);      

    <---清除计时器函数 的目的是为了使计时器停止,阻止其继续增加宽度。

    <---虽然清除计时器函数被注释了

    <---但通过外面的if(icur == iTarget){【1】被注释的函数}else{【2】增加宽度程序}这个if判断

    <---也可以阻止其继续增加宽度。满足条件执行1,不满足条件执行2.

    <--- 这就很好理解。宽度没到400px,就会一直执行【2】。到了400px,就不会执行【2】(宽度停止增长)

            }else{

                if(attr == 'opacity'){

                    obj.style.filter ='alpha:(opacity='+icur+speed+')';

                    obj.style.opacity = (icur+speed)/100;

                }else{

                    obj.style[attr] = icur + speed + 'px';

                }

            }


    qq_像苏_...

    非常感谢!

    2016-09-11 14:00:41

    共 1 条回复 >

  • 慕移动9181930
    2022-03-29 08:30:18

    是不是你的supermanCtrl与参数写的不匹配,我试过,没有这种问题的

    zapmrsmqrmfbmhbbtitknygkoqxyqcqefyhlbbvladbmpujhqlcbbmhthmajezrpnxkzhxqcryxqkarucolqew

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题