这个判断把我搞晕了

来源:6-1 动画函数

啊啊啊啊123

2017-05-15 14:04

function animate (offset) {    
if (offset == 0) {    
    return;    
}    
animated = true;    
var time = 300;    
var inteval = 10;    
var speed = offset/(time/inteval);    
var left = parseInt(list.style.left) + offset;     
var go = function (){    
    if ( (speed > 0 && parseInt(list.style.left) < left) || (speed < 0 && parseInt(list.style.left) > left)) {    
        list.style.left = parseInt(list.style.left) + speed + 'px';    
        setTimeout(go, inteval);    
    }else {    
        list.style.left = left + 'px';    
        if(left>-200){    
            list.style.left = -600 * len + 'px';    
        }    
        if(left<(-600 * len)) {    
        list.style.left = '-600px';    
        }       
    }    
}    
go();}

这是这节课下载来的代码,我怎么觉得if里的(speed > 0 && parseInt(list.style.left) < left) || (speed < 0 && parseInt(list.style.left) > left) 一直都是成立的怎么else跳出去的?

图片在第一个时parseInt(list.style.left)=-600,向左移animate(600); parseInt(list.style.left)<left = 0;满足条件,

图片在最后一个时parseInt(list.style.left)=-3000,向右animate(-600);parseInt(list.style.left)> left = -3600;也满足条件 ,什么情况下跳出这个判断条件?

写回答 关注

2回答

  • Dnove
    2017-05-15 18:06:02
    已采纳

    等于left,也就是图片到达指定位置的时候跳出。

    啊啊啊啊12...

    对对对,被绕进去了,谢谢

    2017-05-15 20:10:24

    共 1 条回复 >

  • 慕斯卡8256735
    2017-07-01 18:09:06

    同感,为了搞清楚这个问题,看了这段视频不下五次,最后才想明白的


焦点图轮播特效

通过本教程学习您将能掌握非常实用的焦点图轮播特效的制作过程

65296 学习 · 611 问题

查看课程

相似问题