MozTW 討論區 https://forum.moztw.org/ |
|
請教.js的問題 https://forum.moztw.org/viewtopic.php?f=13&t=16219 |
第 1 頁 (共 1 頁) |
發表人: | 訪客 [ 2006-11-04, 11:58 ] |
文章主題 : | 請教.js的問題 |
我有一個網站,其中的訊息提示"alt="xxx"在IE中可以正常顯示,如下圖 ![]() 但在firefox下,就沒有了效果,變得很醜,請問如何修改呢 ![]() 以下是有關訊息提示的代碼,請各位大大指教,多謝~ 代碼: document.write("<style type='text/css'id='defaultPopStyle'>"); [/img]
document.write(".PopText { font-family: Verdana,Tahoma; background-color: #F4F4F5; border: 1px #BBBBBB dashed; font-size: 12px; padding-right: 6px; padding-left: 6px; padding-top: 6px; padding-bottom: 6px; visibility: hidden; filter: Alpha(Opacity=0)}"); document.write("</style>"); document.write("<div id='popLayer' style='position:absolute;z-index:1000;filter:revealtrans(duration=.2,transition=10) revealTrans(duration=.2,transition=23) alpha(opacity=80,enabled=100)' class='PopText'></div>"); function showPopupText() { var o=event.srcElement; MouseX=event.x; MouseY=event.y; if(o.alt!=null && o.alt!="") { o.pop=o.alt;o.alt="" } if(o.title!=null && o.title!=""){ o.pop=o.title;o.title="" } if(o.pop) { o.pop=o.pop.replace("\n","<br>"); o.pop=o.pop.replace("\n","<br>"); } if(o.pop!=sPop) { sPop=o.pop; if(sPop==null || sPop=="") { popLayer.filters[0].apply(); popLayer.style.visibility="hidden"; popLayer.filters[0].play(); popLayer.style.width="" } else { sPop=o.pop; var rpstr="<font color=black>================</font>" sPop=rpstr + "<br>" + sPop; sPop+="<br>" + rpstr; if(o.dyclass!=null) popStyle=o.dyclass else popStyle="PopText"; popLayer.filters[1].apply(); popLayer.style.visibility="visible"; popLayer.filters[1].play(); showIt(); if (popLayer.offsetWidth>500) { popLayer.style.width=500 } } } } function showIt() { popLayer.className=popStyle; popLayer.innerHTML=sPop; popWidth=popLayer.clientWidth; popHeight=popLayer.clientHeight; if(event.clientX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24 else popLeftAdjust=0; if(event.clientY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24 else popTopAdjust=0; popLayer.style.left=event.clientX+12+document.body.scrollLeft+popLeftAdjust; popLayer.style.top=event.clientY+12+document.body.scrollTop+popTopAdjust; } document.onmouseover=showPopupText; |
發表人: | shray [ 2006-11-04, 12:01 ] |
文章主題 : | |
抱歉,上面發帖人是我,第一次發帖忘了登入 |
發表人: | chilly [ 2006-11-08, 16:24 ] |
文章主題 : | |
看"alt="xxx"改成"title="xxx"有沒有用 |
發表人: | 風痕影 [ 2006-11-12, 15:37 ] |
文章主題 : | |
程式中直接寫出 popLayer 來控制這個 ID 只適用於 IE 標準的寫法應該是 document.getElementById("popLayer") 至於 event.srcElement 可以參考 這個範例 的原始碼 此外,filter 是 IE 的擴充,所以漸漸浮現的效果將無法在 Firefox 中出現 PS. revealtrans 沒有取代的方法,而 alpha 則可以用 opacity 取代 不過要取代的話還需要使用 setTimeout 來跑,挺麻煩的... |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |