這個判斷把我搞暈了
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;也滿足條件 ,什么情況下跳出這個判斷條件?
2017-05-15
等于left,也就是圖片到達指定位置的時候跳出。
2017-07-01
同感,為了搞清楚這個問題,看了這段視頻不下五次,最后才想明白的