MozTW 討論區
https://forum.moztw.org/

JavaScript錯誤,如何修正?
https://forum.moztw.org/viewtopic.php?f=13&t=5299
1 頁 (共 2 頁)

發表人:  訪客 [ 2004-12-27, 12:48 ]
文章主題 :  JavaScript錯誤,如何修正?

function start_face(uid)
{
if (currface =="") {
currface = "0";
}
var showArray = currface.split('-');
var WearArray = currwear.split('-');
if (showArray[6] != '0')
{
showArray[8] = 0;
showArray[9] = 0;
}
var s="";
for (var i=0; i<26; i++)
{
if(showArray[i] != '0')
{
if((showArray[i] == 'init') || (showArray[i] == 'initf'))
{
s+="<IMG src=images/face/"+i+"/"+showArray[i]+".gif style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:"+i+";'>";
}
else
{
s+="<IMG src=images/face/"+i+"/"+showArray[i]+".gif style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:"+i+";FILTER: alpha(opacity="+WearArray[i]+")'>";
}
}
}
s+="<IMG src=images/face/blank.gif style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:50'>";
if (currface=='0') {
s="<IMG src=images/face/noface.gif style='padding:0;position:absolute;top:0;left:0;width:140;height:226;'>";
}
if(uid==0)
{
Show.innerHTML=s;
}
else
{
Show[uid].innerHTML=s;
}

}
--------------------------------------------------------------------------------------------
錯誤訊息: Show is not define
紅色的部份發生了錯誤,請問要如何修正呢?謝謝!!

發表人:  BobChao [ 2004-12-27, 13:36 ]
文章主題 : 

Anonymous 寫:
錯誤訊息: Show is not define
紅色的部份發生了錯誤,請問要如何修正呢?謝謝!!


沒仔細看,不過請問你的 Show 物件是怎麼無中生有來的... ^^;
showArray 才對吧?

發表人:  danielwang [ 2004-12-27, 15:42 ]
文章主題 :  物件引用 ?

代碼:
var showArray = currface.split('-');
var WearArray = currwear.split('-');

JavaScript 有分大小寫。建議你養成好習慣,物件命名時要一致 (showArray && wearArray) || (ShowArray && WearArray)

代碼:
padding:0;position:absolute;top:0;left:0;width:140;height:226;

是錯誤的。除非是零,長度一定要有單位:padding:0;position:absolute;top:0;left:0;width:140px;height:226px;

Microsoft Internet Explorer 允許直接引用物件名:
Show (啥?) = window.Show (啥?) = document.all['Show'] = document.getElementById('show')
大概是這種問題吧

發表人:  mindar [ 2004-12-27, 19:31 ]
文章主題 : 

我將Show.innerHTML=s;
改成document.getElementById('Show').innerHTML=s;
可以正常執行沒有錯誤,感謝指導.....

請問這又要如何修改呢??
Show[uid].innerHTML=s;
改成這樣也不行耶 document.getElementById('Show')[uid].innerHTML=s;

發表人:  danielwang [ 2004-12-27, 22:05 ]
文章主題 :  有 URL 嗎?

可以上傳所有的 HTML / JS 然後給 URL 嗎?

發表人:  訪客 [ 2004-12-27, 23:51 ]
文章主題 : 

小弟是在自己的電腦測試的,還沒有URL耶...

<DIV id=Show style=\"PADDING-RIGHT:0px;PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV>

<SCRIPT language=JavaScript>
var currface = \"$userface\";
var currwear = \"$userwear\";
start_face($uid);
</SCRIPT>

以上是其中一小段程式,請指教...感恩啊~

發表人:  風痕影 [ 2004-12-28, 11:35 ]
文章主題 : 

mindar 寫:
請問這又要如何修改呢??
Show[uid].innerHTML=s;
改成這樣也不行耶 document.getElementById('Show')[uid].innerHTML=s;

圓括弧內寫的是ID的值,所以應該寫為document.getElementById('Show'+uid).innerHTML=s;喔!
getElementById('Show')[uid]的意義變成是取getElementById('Show')這個陣列中,index=uid的元素了

發表人:  mindar [ 2004-12-28, 12:44 ]
文章主題 : 

風痕影 寫:
document.getElementById('Show')[uid].innerHTML=s;
圓括弧內寫的是ID的值,所以應該寫為document.getElementById('Show'+uid).innerHTML=s;喔!

這樣修改已經可以了,小弟萬分感謝各位大大的教導~

發表人:  mindar [ 2004-12-28, 22:13 ]
文章主題 : 

小弟看錯了,對不起,又要麻煩各位大大了.....

圓括弧內寫的是ID的值,所以應該寫為document.getElementById('Show'+uid).innerHTML=s;
改成上面這樣,也無法正常顯示.....

為什麼
Show.innerHTML=s;
改成
document.getElementById('Show').innerHTML=s;可以


Show[uid].innerHTML=s;
改成
document.getElementById('Show'+uid).innerHTML=s;就不行呢

IE的語法容錯率很高,不知道怎麼寫才是正常的JS語法

發表人:  danielwang [ 2004-12-29, 00:04 ]
文章主題 : 

請問 document.getElementById('Show')[uid] 究竟是要取甚麼元素,可以給 Show[uid] 的 HTML 嗎?

發表人:  mindar [ 2004-12-29, 10:04 ]
文章主題 : 

這是php寫的檔案,小弟不知要傳什麼樣的HTML檔案耶??
其實這個錯誤,在所有使用"虛擬形象"的網站都會發生.....

原始檔敘述
if(uid==0)
{
Show.innerHTML=s;
}
else
{
Show[uid].innerHTML=s;
}
用Firefox看不到所有的"虛擬形象"圖

經由大大的教導改成
if(uid==0)
{
document.getElementById('Show').innerHTML=s;
}
else
{
document.getElementById('Show').innerHTML=s;
}
在if...else 兩邊的程式都寫一樣,在Firefox就可以秀所有人的"虛擬形象"圖
但是用IE只會顯示第一個人的圖,其他以下都是空白的沒有顯示.....

把else中的程式改成document.getElementById('Show'+uid).innerHTML=s;
會變成---> 錯誤: document.getElementById("Show"+uid) has no properties
真是有點迷糊了@@

發表人:  member [ 2004-12-29, 12:39 ]
文章主題 : 

mindar 寫:
"虛擬形象"


是什麼??

即然是由 CGI 所產生的頁面, 何不從 CGI 輸出 HTML 時, 就將內容呈現, 而不需交給 DHTML + JavaScript 處理.

發表人:  danielwang [ 2004-12-29, 13:12 ]
文章主題 : 

可以貼上產生的 HTML 檔嗎?
還是貼你上你用的 PHP script 的作者的網址?

發表人:  訪客 [ 2004-12-29, 14:32 ]
文章主題 : 

http://yll.loxa.edu.tw/phpBB2/
網站當中觀看文章時,在左方會員名稱的下面,有些人是用自己上傳的頭像圖片,有些則是使用虛擬形象

小弟因為也想自己架站,使用虛擬形象,無奈Firefox看不到,才興起修改JS的念頭,希望各位大大幫幫忙

發表人:  風痕影 [ 2004-12-29, 23:55 ]
文章主題 : 

mindar 寫:
小弟看錯了,對不起,又要麻煩各位大大了.....

圓括弧內寫的是ID的值,所以應該寫為document.getElementById('Show'+uid).innerHTML=s;
改成上面這樣,也無法正常顯示.....

為什麼
Show.innerHTML=s;
改成
document.getElementById('Show').innerHTML=s;可以


Show[uid].innerHTML=s;
改成
document.getElementById('Show'+uid).innerHTML=s;就不行呢

IE的語法容錯率很高,不知道怎麼寫才是正常的JS語法

抱歉,之前誤會了你的用法。按照你上面說的,應該改成
document.getElementById(Show[uid]).innerHTML=s;
試試看吧,因為我不太確定這裡的Show[uid]是什麼...@@
這樣看來Show好像是陣列,可是又沒看到其中有此陣列

1 頁 (共 2 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/