中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)頁制作 > 用Popup窗口建無限級Web頁菜單
回到列表 JavaScript實(shí)用的一些技巧
 用Popup窗口建無限級Web頁菜單

作者:birdshome 時間: 2005-02-22 文檔類型:原創(chuàng) 來自:藍(lán)色理想

在Web上使用菜單可以極大地節(jié)約頁面的空間,同時也比較的符合用戶從Windows上繼承下來的UI操作體驗。在以往的Web頁菜單設(shè)計中,我們普遍使用div嵌套table的方式來實(shí)現(xiàn)菜單,這樣的菜單有個最致命的問題就是會被<select>覆蓋。我們?yōu)榱私鉀Q這個問題,有時我們干脆在顯示圖層菜單的同時隱藏頁面上的所有下拉列表框,在菜單消失的時候,再顯示他們。這個方法雖然可以解決問題,而其優(yōu)化過后還可以只隱藏和下拉列表框相交的列表框,但是這些解決方法都不是十分的完美。還有些小問題,這樣的菜單定位很困難,因為在<div>顯示的時候,用戶可以使用鼠標(biāo)滾輪滾動頁面,這樣一來是否要讓<div>菜單和頁面滾動同步呢?如果不要,頁面被滾走了,菜單仍顯示在一個和自己毫不相關(guān)的位置上很是古怪。如果要同步,那么噩夢就來了,因為被滾動的區(qū)域不一定就是<body>區(qū)域,還可能是一些類似<div style="overflow:auto"><div>的區(qū)域,要算出菜單的位置將會非常的麻煩。 

下面將介紹的Popup來實(shí)現(xiàn)的Web頁菜單將完全解決<div>做為菜單容器時遇到的問題,Popup窗口是IE5.5及以后版本提供的一個新feature。什么是popup呢?簡單說popup其實(shí)就是一個彈出窗口,它擁有以下特點(diǎn)(MSDN描述):

·popup窗口在用戶點(diǎn)擊它自身之外的任何地方或另一個popup打開的時候會自動關(guān)閉;

·popup在顯示的時候不能獲得焦點(diǎn),所以用戶已focused的操作將繼續(xù)在其父窗口中執(zhí)行;

·組成popup的DHTML可以存儲在其父document或其他的document元素中;

·popup窗口中不支持文本框一類的編輯框element;

·不能選中popup窗口中的元素;

·不能在popup窗口中navigate(點(diǎn)擊popup中的連接,不能讓更新的內(nèi)容顯示到這個popup中); 

·popup窗口一旦顯示就不能移動和resize。

這里MSDN說的不全,而且有的地方不是很準(zhǔn)確,popup窗口還有幾個重要的特性。它可以超出瀏覽器的窗口范圍而且也不會被下拉框、flash、IFrame等這些元素遮擋。實(shí)際上popup里的內(nèi)容是可以被選擇的,不知道MSDN說的不能選擇是啥意思?。關(guān)于MSDN說popup不能獲得焦點(diǎn)也有點(diǎn)問題,其實(shí)是popup里的編輯框類控件不能獲得焦點(diǎn),而其它的非可編輯控件是可以獲得焦點(diǎn)的。而且popup顯示的時候,IE主窗口不能獲得鼠標(biāo)的onmousewheel事件。 

這樣的一些特性,恰好表明了popup窗口非常的適合用來制作彈出菜單,并且由于popup窗口顯示的時候,IE窗口內(nèi)的文檔是不能被移動的,這樣就不存在context menu的位置同步問題了,因為畢竟popup窗口不能move(move位置需要hide以后在新的位置上重show),這個問題還比較討厭。

使用popup窗口制作無限級別的菜單,有兩個問題要解決:一個是要能在一個IE中顯示多個Popup窗口,二是要能把窗口中的一些事件俘獲并執(zhí)行我們腳本過程。MSDN在描述popup窗口特性時,第一條就說了只要有另一個popup窗口開啟,先前顯示的popup窗口就會自動關(guān)閉。這下怎么辦呢?不過既然都說了要實(shí)現(xiàn)無限級的菜單了,辦法還是有的。對于popup,使用方式其實(shí)是很簡單的,他一共就只包含了兩個方法:hide()和show(...),和兩個屬性:document和isOpen。雖然在IE中我們連續(xù)的調(diào)用n次window.createPopup().show(...)只能出來一個popup窗口被顯示,可是我們可以調(diào)用popup.document.parentWindow的createPopup方法,它產(chǎn)生的popup窗口在顯示的時候就不會關(guān)閉前面已顯示的popup窗口,并且對于新的popup用這個方法可以繼續(xù)開啟child popup。這個問題再研究下去,會發(fā)現(xiàn)IE實(shí)現(xiàn)popup的一些怪異的地方(當(dāng)然這些對于我們實(shí)現(xiàn)這個菜單關(guān)系不太大,只是覺得混亂)。

比如我們在一個IE窗口中,var popup = window.createPopup(); var win = popup.document.parentWindow; 我們會發(fā)現(xiàn) window != win,對于多個popup可以共存,這個不相等還能理解,但是當(dāng)我們調(diào)用win.resizeTo(...)的時候,我們發(fā)現(xiàn)父IE窗口被resize了。同樣我們在popup中select all,結(jié)果也是父IE窗口里的內(nèi)容被全選了@_@...

(未完待續(xù))

出處:藍(lán)色理想
責(zé)任編輯:冰點(diǎn)的冰藍(lán)色

◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論

相關(guān)文章
關(guān)于版權(quán)聲明的寫法
在Web頁中使用Media Player
為flash構(gòu)建asp.net Webservice
作者文章
用Popup窗口建無限級Web頁菜單
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大福“敬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2