0取余問題,有知道的給解釋一下,百度都說0對數(shù)取余為0(我也覺得),在這里為什么不是???
function startScroll(){
?? ? time=setInterval("scrollUp()",speed);
???? area.scrollTop++;
?? ? }
?function scrollUp(){
?? ? if(area.scrollTop % iliHeight==0){
?? ??? ?
?? ??? ? clearInterval(time);
?? ??? ? setTimeout(startScroll,delay);
?? ??? ? }else{
?? ??? ??? ? area.scrollTop++;
?? ??? ???? // alert('aaa');
?? ??? ??? ? if(area.scrollTop >= area.scrollHeight/2){
?? ??? ??? ??? ? area.scrollTop =0;
?? ??? ??? ??? ? }
?? ??? ??? ? }
?? ? }
源代碼中進入函數(shù)startScroll時沒有先area.scrollTop++;,而是進入了函數(shù)scrollUp中,而剛開始area.scrollTop不是為0嗎?那豈不是要執(zhí)行setTimeout(startScroll,delay);就要在等兩秒,那開始一共不是要等4秒?但是運行了之后發(fā)現(xiàn)還是只等了2秒,于是我就在下面彈出來alert,發(fā)現(xiàn)剛開始就可以進入到scrollUp的elsezhong進行area.scrollTop++,這是為什么呢,難道0取余不為0嗎?
2015-12-02
function startScroll(){
?? ? time=setInterval("scrollUp()",speed);
???? area.scrollTop++;
?? ? }
這段代碼?實際的執(zhí)行順序?是:
? ? ? ?先執(zhí)行?area.scrollTop++; ?
? ? ? ?后執(zhí)行?time=setInterval("scrollUp()",speed);
給你一個測試代碼:
<script>
? ? ? alert("1");
? ? ? setInterval(function () {
? ? ? ? ? ?alert("2")
? ? ? },200);
? ? ? alert("3");
</script>
2015-09-12
手誤 ?!按蟾拧睋Q成“在”,“scrollTop”換成 "scrollUp"?
2015-09-12
area.scrollTop % iliHeight==0,這個判斷大概area.scrollTop為0的時候確實是成立的。但是在startScroll中會同時執(zhí)行一下area.scrollTop++;然后再去執(zhí)行scrollTop,所以上面一開始的的判斷是false。你可以alert一下。
2015-09-10
0%0 的結(jié)果是 NaN,顯然NaN==0是false