91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery彈出層插件Thickbox使用方法

發布時間:2021-07-14 11:49:58 來源:億速云 閱讀:228 作者:chen 欄目:編程語言

這篇文章主要介紹“jQuery彈出層插件Thickbox使用方法”,在日常操作中,相信很多人在jQuery彈出層插件Thickbox使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”jQuery彈出層插件Thickbox使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Thickbox官方網站(上面有例子和基本的使用方法):http://jquery.com/demo/thickbox/

就我使用過程中,Thickbox常見問題:

1。跨iframe的彈出層。

癥狀:每次thickbox都只在frame中彈出,而不會整個屏幕覆蓋

原因和解決方法:

thickbox使用tb_show()函數在body后面加入彈出層。可以使用window.top.tb_show()把彈出層加到頁面上。我的tihickbox插件中修改如下:在tb_init()中把tb_show(t,a,g)替換如下

if(a.indexOf('TB_iniframe')!=-1)  {  window.top.tb_show(t,a,g);  }  else  {  tb_show(t,a,g);  }

這樣只只要在原來的鏈接上加入TB_iniframe=true即可,如div.aspx?height=180&width=400&TB_iframe=true&TB_iniframe=true&modal=true

2.thickbox只支持一層彈出,不可支持多層彈出。

修改過的控件已經支持(不足:ie6下失效彈出層失效了,占時沒解決,哈哈)

3.彈出層關閉后,文本框無法聚焦。

癥狀:關閉彈出層后,原來頁面上的文本框無法聚焦

原因和解決方法:這個的原因不好說,很多人都認為是ie本身的bug。是由于iframe沒有移除,即使移除了。內存上也么有清除造成的。這也是我猜的。哈哈。解決方法是在tb_remove()中先手動移除iframe然后,在強制做垃圾回收,至少我是可以啦。哈哈。代碼如下:

1functiontb_remove(){
2varseq=PopSeq();
3$("#TB_imageOff"+seq).unbind("click");
4$("#TB_closeWindowButton"+seq).unbind("click");
5
6$("#TB_window"+seq).fadeOut("fast",function(){
7/**////手動移除ifrmae,IE的一個bug
8$('#TB_iframeContent'+seq).remove();
9$('#TB_window'+seq+',#TB_overlay'+seq+',#TB_HideSelect'+seq).trigger("unload").unbind().remove();
10/**////自己調用垃圾回收,強制清楚iframe內存,解決文本框無法輸入問題。
11CollectGarbage();
12});
13if(typeofdocument.body.style.maxHeight=="undefined"){//ifIE6
14$("body","html").css({height:"auto",width:"auto"});
15$("html").css("overflow","");
16}
17document.onkeydown="";
18document.onkeyup="";
19returnfalse;
20}

4.在asp.net中如何動態設置需要的參數和關閉彈出層。

癥狀:thickbox提供的例子都是需要在input后a的class加thickbox,而且參數什么都是固定的。而我們傳遞的參數一般需要動態。

解決方法,使用asp.netajax,不多說了。直接看代碼吧。

封裝一個popup類,

1publicclassPopup
2{
3/**////<summary>
4///showthepopupdiv
5///</summary>
6///<paramname="panel">containerthebutton</param>
7///<paramname="url"></param>
8publicstaticvoidShowPopup(UpdatePanelpanel,stringurl)
9{
10ScriptManager.RegisterClientScriptBlock(panel,panel.GetType(),"ShowPopup","ShowPopup('"+url+"')",true);
11}
12
13/**////<summary>
14///
15///</summary>
16///<paramname="panel"></param>
17///<paramname="page">requestpage</param>
18publicstaticvoidClosePopup(UpdatePanelpanel)
19{
20
21stringjs="self.parent.tb_remove();";
22
23ScriptManager.RegisterClientScriptBlock(panel,panel.GetType(),"closepopup",js,true);
24}
25}

需要的js

functionShowPopup(url){  window.top.tb_show(null,url,false);  }

頁面上例子

1/**////add按鈕需要放在updatepanel里面
2protectedvoidbtnAdd_Click(objectsender,EventArgse)
3{
4/**////自己組參數
5stringurl="aa.aspx?height=180&width=400&Type="+ddlType.SelectedItem.Value;
6url+="&TB_iframe=true&TB_iniframe=true&modal=true";
7Popup.ShowPopup(this.upButtons,url);
8}

不足:由于現在我的不需要支持ie6。所以我也一直沒把我的插件改到支持ie6.

到此,關于“jQuery彈出層插件Thickbox使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

门源| 呼伦贝尔市| 泗阳县| 天等县| 三都| 会同县| 慈利县| 宁蒗| 新蔡县| 郧西县| 女性| 禹州市| 太原市| 康定县| 渑池县| 会宁县| 十堰市| 交口县| 安福县| 噶尔县| 兴业县| 黔西| 法库县| 宾阳县| 仁怀市| 南江县| 玉溪市| 涪陵区| 常德市| 万源市| 鹤峰县| 淮安市| 门源| 广汉市| 浙江省| 图们市| 巴彦县| 青海省| 唐河县| 泰和县| 开远市|