MozTW 討論區 https://forum.moztw.org/ |
|
請教這個js要如何修改才能達到W3C標準 https://forum.moztw.org/viewtopic.php?f=13&t=10183 |
第 1 頁 (共 1 頁) |
發表人: | 新手 [ 2005-08-26, 08:13 ] |
文章主題 : | 請教這個js要如何修改才能達到W3C標準 |
請教高手@@ 這個是別人提供給我在Discuz論壇用的下拉選單 不過無法在firefox瀏覽器顯示 謝謝幫忙^^ 代碼: var h;
var l; var t; var isvisible; function HideMenu() { var mX; var mY; var vDiv; if (isvisible == true) { vDiv = document.all("menuDiv"); mX = window.event.clientX + document.body.scrollLeft; mY = window.event.clientY + document.body.scrollTop; if ((mX < parseInt(vDiv.style.left)) || (mX > parseInt(vDiv.style.left)+vDiv.offsetWidth) || (mY < parseInt(vDiv.style.top)-h) || (mY > parseInt(vDiv.style.top)+vDiv.offsetHeight)){ vDiv.style.visibility = "hidden"; isvisible = false; } } } function ShowMenu(vMnuCode) { vSrc = window.event.srcElement; vMnuCode = "<DIV style='PADDING-RIGHT: 6px; FILTER: shadow(color=#5F5F5F,direction=120); PADDING-BOTTOM: 6px;width:98px'><table border=0 cellspacing=1 cellpadding=4 bgcolor=#76AE00 style='line-height:18px' width='98' align='left'><tr bgcolor='#FFFFFF'><td width=14 background=images/common/menubg.gif> </td><td>" + vMnuCode + "</td></tr></table></div>"; h = vSrc.offsetHeight + 0; l = vSrc.offsetLeft + 0; t = vSrc.offsetTop + h; vParent = vSrc.offsetParent; while (vParent.tagName.toUpperCase() != "BODY") { l += vParent.offsetLeft; t += vParent.offsetTop; vParent = vParent.offsetParent; } menuDiv.innerHTML = vMnuCode; menuDiv.style.top = t; menuDiv.style.left = l; menuDiv.style.visibility = "visible"; isvisible = true; } |
發表人: | yuanyuan [ 2005-12-09, 11:26 ] |
文章主題 : | |
主要原因在於, 它只用了給 IE 的語法 document.all, 所以在 FF 看不到. 建議加上 w3c dom 的標準寫法 document.getElementById("xxxx"), 還有幾個相關的也要做修正. 應該就沒問題了. 不過, 在 IE 和 FF 的解釋, 會稍有差異, 要注意的是差幾個 px 的問題要適度的做加減. |
發表人: | kourge [ 2005-12-09, 11:50 ] |
文章主題 : | |
如果我沒記錯,Firefox 是支援 document.all,不過是用這種方法 情況一 假如 script 測 document.all 是否存在,Firefox 會說沒有(傳回 false) 如: if (document.all) { alert('IE'); }else if (!document.all){ alert('might be gecko'); } 這種時候會 alert 出 might be gecko 情況二 Script 很魯莽的直接用 document.all,這時候 Firefox 才支援 如: var form = document.all('submit-mail'); 配合 <form id="submit-mail"> </form> 應該就可以。 |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |