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/ |