自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩種方式解決DIV彈出窗口問題

開發(fā) 前端
要想完美實現(xiàn)DIV彈出層功能,這里推薦一個輕量級JavaScript工具:subModal,subModal實現(xiàn)用DIV模擬的模式DIV彈出窗口,非常漂亮且簡單實用。

 本文向大家描述一下如何***實現(xiàn)DIV彈出層功能,這里有二種方式處理DIV彈出窗口,一種是用JavaScript代碼,另一種是用樣式,具體內(nèi)容請看本文詳細介紹,相信本文介紹一定會讓你有所收獲。

***實現(xiàn)DIV彈出層功能

要想***實現(xiàn)DIV彈出層功能,這里推薦一個輕量級JavaScript工具:subModal(包括圖片和樣式僅8KB左右,JavaScript文件4.27KB),subModal實現(xiàn)用DIV模擬的模式DIV彈出窗口,非常漂亮且簡單實用。其中發(fā)表評論窗口就是DIV彈出窗口樣式。

下面將介紹此JavaScript工具的使用:

在開始使用之前需要下載文件:

已經(jīng)整理后的版本:subModal

原始版本(英文):http://gabrito.com/files/subModal/可以在此頁面查看運行效果。頁面引用相關(guān)文件。在需要DIV彈出窗口的頁面上引用樣式文件和Javascript文件:

viewsourceprint?

  1. 1.<linkrellinkrel="stylesheet"type="text/css"href="submodal.css"/> 
  2. 2.<scripttypescripttype="text/javascript"src="submodal.JavaScript"></script> 
  3.  

源代碼中的submodal.JavaScript,submodal.css,loading.html,loading.gif,close.gif是必須文件,其他為演示實例文件。

若要改變DIV彈出窗口樣式,或者改變close.gif圖片路徑,請編輯submodal.css
若需要改變加載效果,需編輯loading.html,現(xiàn)在我們就可以編寫代碼來DIV彈出窗口了,有二種方式處理DIV彈出窗口:

◆用JavaScript代碼:

DIV彈出窗口的函數(shù)為:showPopWin(url,width,height,returnFunc),url為彈出鏈接,width為寬帶,height為高度,returnFunc為當窗口彈出后的回調(diào)函數(shù)。其中高寬以像素為單位,例如:

<!–以下代碼將會在彈出DIV彈窗,彈窗中頁面為modalcontent.html,彈窗的寬度為400像素,高度為200像素–>

viewsourceprint?

  1. 1.<p><buttononclickbuttononclick=
  2. "showPopWin('modalcontent.html',400,200,null);"> 
  3. showmodalwindowbutton</button></p> 

◆用樣式:

subModal支持設(shè)置特別的樣式來完成DIV彈出窗口的功能。當鏈接上設(shè)置submodal或者submodal-width-height格式的樣式后,頁面運行過程中subModal將會為鏈接增加處理事件。當點擊鏈接時,將在DIV彈窗中展示鏈接的頁面,而不是新的瀏覽器窗口。

例如:

viewsourceprint? 

  1. 1.<p><aclassaclass="submodal"href="modalcontent.html"> 
  2. showmodalwindowusingclass</a> 
  3. 2.<!--將在DIV彈窗中顯示dodalcontent.html頁面--></p> 
  4. 3.  
  5. 4.<p><aclassaclass="submodal-200-400"href="modalcontent.html"> 
  6. showmodalwindowusingclassandoverridingdefaultsize</a> 
  7. 5.<!--將在DIV彈窗中顯示dodalcontent.html頁面,且寬帶為200像素,高度為400像素--></p> 
  8.  
  9.  

 關(guān)閉彈出可以在當前頁碼調(diào)用hidePopWin()函數(shù)或者在彈出頁面中調(diào)用window.parent.hidePopWin(),如:

viewsourceprint? 

  1. 1.<buttononclickbuttononclick="window.parent.hidePopWin()">close</button> 
  2.  

在http://www.cnblogs.com/lzppcc/archive/2008/01/14/1038977.html看到到的這個彈出框很漂亮,但不能通過鼠標拖動彈出的窗口,難免遺憾,便自己寫了JavaScript代碼,實現(xiàn)了這個功能.

subModal.JavaScript
//***********************以下為新增控件的拖曳事件*************************************************** 

  1. vargMouseMove=false;  
  2. varx,y,z  
  3. //開始拖曳  
  4. functionstartDrag(obj){  
  5. if(event.button==1||event.button==0){  
  6. x=window.event.clientX;  
  7. y=window.event.clientY;  
  8. z=obj.style.zIndex;  
  9. obj.style.zIndex=500;  
  10. obj.setCapture();//設(shè)置屬于當前對象的鼠標捕捉  
  11. gMouseMove=true;  
  12. }  
  13. }  
  14. //拖動事件,obj為激發(fā)當前事件的控件,dragID為等拖曳控件的ID  
  15. varDraging=functionDraging(obj,dragID){  
  16. if(gMouseMove){  
  17. varoldwin;  
  18. if(dragID=='undefined'||dragID==''){  
  19. oldwin=obj.parentNode  
  20. }  
  21. else{  
  22. oldwin=document.getElementById(dragID);  
  23. }  
  24.  
  25. oldwin.style.left=pixParse(oldwin.style.left)+window.event.clientX-x;  
  26. oldwin.style.top=pixParse(oldwin.style.top)+window.event.clientY-y;  
  27. x=window.event.clientX;  
  28. y=window.event.clientY;  
  29. }  
  30. }  
  31. //將象素單位轉(zhuǎn)為數(shù)據(jù)129px-->129  
  32. functionpixParse(str){  
  33. strstr=str.replace('px','');  
  34. returnparseInt(str);  
  35. }  
  36. //停止拖動  
  37. functionstopDrag(obj){  
  38. gMouseMove=false;  
  39. obj.style.zIndex=z;//還原Z座標  
  40. obj.releaseCapture();  
  41.  
  42. }  
  43.  

 initPopUp()方法中增加了三個事件,如下:

  1. <DIVclassDIVclass="x-window-headerx-unselectablex-window-draggable" 
  2. id="ext-gen15"style="MozUserSelect:none;  
  3. KhtmlUserSelect:none"unselectable="on" 
  4. onMousedown="startDrag(this)"onMouseup="stopDrag(this)"  
  5. onMousemove="Draging(this,\'ext-comp-1001\')"> 
  6.  

【編輯推薦】

  1. 學習筆記 剖析CSS縮寫六大規(guī)則
  2. CSS樣式表特點及嵌入網(wǎng)頁的四種途徑
  3. 三種方法實現(xiàn)CSS樣式表插入
  4. CSS外邊距設(shè)置屬性margin用法
  5. 探究CSS高級語法中選擇器分組和CSS繼承用法

 

責任編輯:佚名 來源: cnblogs.com
相關(guān)推薦

2010-08-11 14:22:26

Flex彈出窗口

2010-08-13 12:54:20

Flex彈出窗口

2011-03-03 10:26:04

Pureftpd

2023-08-24 08:02:19

冪等性API請求

2009-03-04 10:38:36

Troubleshoo桌面虛擬化Xendesktop

2010-09-07 11:09:59

2009-06-25 13:43:00

Buffalo AJA

2010-02-02 14:32:32

Python線程編程

2010-10-21 16:24:18

sql server升

2021-05-27 10:57:01

TCP定時器網(wǎng)絡(luò)協(xié)議

2010-08-06 09:38:11

Flex讀取XML

2023-03-29 13:06:36

2009-06-23 18:18:13

SpringHibernate

2010-04-20 15:32:20

主控負載均衡

2010-08-30 10:09:07

JavaScriptDIV

2010-06-07 17:41:42

Sendmail 配置

2010-07-27 15:03:37

Flex ArrayC

2010-05-10 18:19:00

負載平衡技術(shù)

2011-03-23 11:22:14

oracle dbli

2024-09-20 11:32:28

.NET內(nèi)存管理
點贊
收藏

51CTO技術(shù)棧公眾號