以及我有這個麻煩,我一直都應付,但我只是不能得到它的工作麻煩SWITCH JavaScript的執行總是默認情況下
我有這個功能
function getDirections(dir)
{
var img;
switch(dir)
{
case 0:
img+='N.png';
break;
case 1:
img+='NE.png';
break;
case 2:
img+='E.png';
break;
case 3:
img+='SE.png';
break;
case 4:
img+='S.png';
break;
case 5:
img+='SO.png';
break;
case 6:
img+='O.png';
break;
case 7:
img+='NO.png';
break;
default:
alert('enetered default but direction='+dir);
}
return img;
}
很簡單吧?現在我將這個間隔設置爲5000毫秒來調用getDirections(變量),該函數在第一次調用時運行良好,但在此之後,它始終輸入默認子句,並且它還提示'進入的默認方向= dirvalue',我的意思是,即使目標是介於0-7之間的值,它也將始終進入默認值:但它會提醒該值,因此它被拒絕進入其中一個案例。
我如果用其他人發出了同樣的和它的工作,所以我不知道它錯SWITCH
if(dir==0){img+='N.png';}
else if(dir==1){img+='NE.png';}
else if(dir==2){img+='E.png';}
else if(dir==3){img+='SE.png';}
else if(dir==4){img+='S.png';}
else if(dir==5){img+='SO.png';}
else if(dir==6){img+='O.png';}
else if(dir==7){img+='NO.png';}
如果你在函數頂部記錄'dir',你會得到預期的結果嗎? – alex 2011-02-24 01:27:54
請顯示你的計時器。 – 2011-02-24 01:28:48
代碼在firefox中對我來說工作正常,是否還有其他代碼參與?你使用的是什麼瀏覽器?你也可能想添加'var img =「」;',因爲它會在追加時嘗試將兩個操作數轉換爲字符串,並且由於你沒有初始化img,它就變成了「未定義」。 :) – 2011-02-24 01:35:47