MozTW 討論區 https://forum.moztw.org/ |
|
使用JavaScript製作的manu選單及其他特效無法正常使用 https://forum.moztw.org/viewtopic.php?f=2&t=7085 |
第 1 頁 (共 1 頁) |
發表人: | brahe [ 2005-03-16, 15:06 ] |
文章主題 : | 使用JavaScript製作的manu選單及其他特效無法正常使用 |
在IE內可以正常顯示的一些使用JavaScript製作的manu選單及其他特效在FireFox下都無法正常使用,請問該如何解決。 例如以下的語法: <div align="left"> <DIV onmousedown="fmenu1()" style="cursor:hand;"> <img src="demo.gif" width="20" height="20">網頁選單之一</DIV> <TABLE id=menu1 style="display:none" border="0" width="100"> <TR> <TD> <a href="demo.htm"><img src="count.gif" border="0" width="16" height="16">次選單一</a><BR> <a href="demo.htm"><img src="count.gif" border="0" width="16" height="16">次選單二</a><BR> <a href="demo.htm"><img src="count.gif" border="0" width="16" height="16">次選單三</a><BR> </TD> </TR> </TABLE> <DIV onmousedown="fmenu2()" style="cursor:hand;"> <img src="demo.gif" width="20" height="20">網頁選單之二</DIV> <TABLE id=menu2 style="display:none" border="0" width="100"> <TR> <TD> <a href="demo.htm"><img src="count.gif" border="0" width="16" height="16">次選單一</a><BR> <a href="demo.htm"><img src="count.gif" border="0" width="16" height="16">次選單二</a><BR> <a href="demo.htm"><img src="count.gif" border="0" width="16" height="16">次選單三</a><BR> </TD> </TR> </TABLE> <SCRIPT language="JavaScript"> function fmenu1(){ if( menu1.style.display == "none") menu1.style.display = "block"; else menu1.style.display = "none";} function fmenu2(){ if( menu2.style.display == "none") menu2.style.display = "block"; else menu2.style.display = "none";} </SCRIPT> |
發表人: | xacid [ 2005-03-16, 20:28 ] |
文章主題 : | |
這樣如何: brahe 寫: function fmenu1(){
menu1=document.getElementById("menu1"); if( menu1.style.display == "none") menu1.style.display = "block"; else menu1.style.display = "none";} function fmenu2(){ menu2=document.getElementById("menu2"); if( menu2.style.display == "none") menu2.style.display = "block"; else menu2.style.display = "none";} |
發表人: | brahe [ 2005-03-17, 08:03 ] |
文章主題 : | |
不是語法的問題,而是很多網頁都有這種manu,無法使用。 xacid 寫: 這樣如何:
brahe 寫: function fmenu1(){ menu1=document.getElementById("menu1"); if( menu1.style.display == "none") menu1.style.display = "block"; else menu1.style.display = "none";} function fmenu2(){ menu2=document.getElementById("menu2"); if( menu2.style.display == "none") menu2.style.display = "block"; else menu2.style.display = "none ";} |
發表人: | BobChao [ 2005-03-17, 12:00 ] |
文章主題 : | |
brahe 寫: 不是語法的問題,而是很多網頁都有這種manu,無法使用。
那是語法的問題,我們也有遇過一大堆 Firefox 可以用但 IE 失敗的例子,所以你要問「跟很多其他的效果」時,我想我們沒辦法回答你:「很多」是哪些?可以給個網址來嗎? |
發表人: | brahe [ 2005-03-17, 15:10 ] |
文章主題 : | |
感謝您的回覆,因常上網站,所以偶遇無法使用的manu,其實 也沒什麼特別的。 |
發表人: | vsy [ 2005-03-17, 21:09 ] |
文章主題 : | |
主要的問題在於這裡(節錄自BobChao 譯,問題網頁與技術傳教) 引言回覆: Q:JavaScript 沒用!為何會這樣?
有些 document 物件的屬性如 document.all 與 document.layers 並非 W3C DOM 標準的一份子。Mozilla 不支援它們,請改用 document.getElementById() 方法。 此外,某些老舊的瀏覽器偵測程式(client sniffer)會將新瀏覽器排除在外。公用 API(W3C DOM)的目的在於互通(interoperability),再額外偵測出不支援此公用 API 的特定瀏覽器。當使用 DOM 時,最好先檢查一下你想用的物件及方法。舉例而言,你可以用如下方式檢查瀏覽器是否支援 document.getElementById(): 代碼: if(document.getElementById) { /* 在此放置支援 document.getElementById() 時所要執行的�{式碼 */ } |
發表人: | BobChao [ 2005-03-17, 22:45 ] |
文章主題 : | |
vsy 寫: 主要的問題在於這裡(節錄自BobChao 譯,問題網頁與技術傳教)
引言回覆: Q:JavaScript 沒用!為何會這樣? 有些 document 物件的屬性如 document.all 與 document.layers 並非 W3C DOM 標準的一份子。Mozilla 不支援它們,請改用 document.getElementById() 方法。 此外,某些老舊的瀏覽器偵測程式(client sniffer)會將新瀏覽器排除在外。公用 API(W3C DOM)的目的在於互通(interoperability),再額外偵測出不支援此公用 API 的特定瀏覽器。當使用 DOM 時,最好先檢查一下你想用的物件及方法。舉例而言,你可以用如下方式檢查瀏覽器是否支援 document.getElementById(): 代碼: if(document.getElementById) { /* 在此放置支援 document.getElementById() 時所要執行的�{式碼 */ } 吾... 這才發現這邊要更新一下... Mozilla 跟 Firefox 已經開始支援 document.all 了,不過由於 IE 是封閉軟體,所以不可能做到一模一樣。此外由於不鼓勵非標準寫法(也為了相容舊的瀏覽器判別程式),所以如果用 if (document.all) 來判斷,還是會傳回 false。 |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |