jQuery實(shí)現(xiàn)的模擬彈出窗口功能示例
本文實(shí)例講述了jQuery實(shí)現(xiàn)的模擬彈出窗口功能。分享給大家供大家參考,具體如下:
//初始化文檔 $(document).ready(); //----------------彈出DIV仿模態(tài)窗口開始---------------- var divW; //DIV寬度 var divH; //DIV高度 var clientH; //瀏覽器高度 var clientW; //瀏覽器寬度 var divTitle; //DIV標(biāo)題 var pageUrl; //DIV中加載的頁(yè)面 var div_X; //DIV橫坐標(biāo) var div_Y; //DIV縱坐標(biāo) function DivWindowOpen(divWidth,divHeight,title,url){ divW = divWidth; //DIV寬度 divH = divHeight; //DIV高度 divTitle = title; //DIV高度 pageUrl = url; //DIV中加載的頁(yè)面UR lockScreen(); //鎖定背景 divOpen(); $("#divTitle").append(divTitle); $("#divContent").load(pageUrl); //交換X圖片 $("#x").hover( function(){ $(this).attr("src","images/Close-2.gif"); }, function(){ $(this).attr("src","images/Close-1.gif"); } ); //關(guān)閉DIV窗口 $("#x").click( function(){ clearDivWindow(); clearLockScreen(); } ); } //返回彈出的DIV的坐標(biāo) function divOpen(){ var minTop = 80; //彈出的DIV記頂部的最小距離 if($("#divWindow").length == 0){ clientH = $(window).height(); //瀏覽器高度 clientW = $(window).width(); //瀏覽器寬度 div_X = (clientW - divW)/2; //DIV橫坐標(biāo) div_Y = (clientH - divH)/2; //DIV縱坐標(biāo) div_X += window.document.documentElement.scrollLeft; //DIV顯示的實(shí)際橫坐標(biāo) div_Y += window.document.documentElement.scrollTop; //DIV顯示的實(shí)際縱坐標(biāo) if(div_Y < minTop){ div_Y = minTop; } $("body").append("<div id='divWindow'><div id='divTitle'><img src='images/Close-1.gif' id='x' /></div><div id='divContent'>載入中</div></div>"); //增加DIV //divWindow的樣式 $("#divWindow").css("position","absolute"); $("#divWindow").css("z-index","200"); $("#divWindow").css("left",(div_X + "px")); //定位DIV的橫坐標(biāo) $("#divWindow").css("top",(div_Y + "px")); //定位DIV的縱坐標(biāo) $("#divWindow").css("opacity","0.9"); $("#divWindow").width(divW); $("#divWindow").height(divH); $("#divWindow").css("background-color","#FFFFFF"); $("#divWindow").css("border","solid 1px #333333"); //divTitle的樣式 $("#divTitle").css("height","20px"); $("#divTitle").css("line-height","20px"); $("#divTitle").css("background-color","#333333"); $("#divTitle").css("padding","3px 5px 1px 5px"); $("#divTitle").css("color","#FFFFFF"); $("#divTitle").css("font-weight","bold"); //x的樣式 $("#x").css("float","right"); $("#x").css("cursor","pointer"); //divContent的樣式 $("#divContent").css("padding","10px"); } else{ clientH = $(window).height(); //瀏覽器高度 clientW = $(window).width(); //瀏覽器寬度 div_X = (clientW - divW)/2; //DIV橫坐標(biāo) div_Y = (clientH - divH)/2; //DIV縱坐標(biāo) div_X += window.document.documentElement.scrollLeft; //DIV顯示的實(shí)際橫坐標(biāo) div_Y += window.document.documentElement.scrollTop; //DIV顯示的實(shí)際縱坐標(biāo) if(div_Y < minTop){ div_Y = minTop; } $("#divWindow").css("left",(div_X + "px")); //定位DIV的橫坐標(biāo) $("#divWindow").css("top",(div_Y + "px")); //定位DIV的縱坐標(biāo) } } //鎖定背景屏幕 function lockScreen(){ if($("#divLock").length == 0){ //判斷DIV是否存在 clientH = $(window).height(); //瀏覽器高度 clientW = $(window).width(); //瀏覽器寬度 //var docH = $("body").height(); //網(wǎng)頁(yè)高度 //var docW = $("body").width(); //網(wǎng)頁(yè)寬度 //var bgW = clientW > docW ? clientW : docW; //取有效寬 //var bgH = clientH > docH ? clientH : docH; //取有效高 $("body").append("<div id='divLock'></div>") //增加DIV $("#divLock").height(clientH); $("#divLock").width(clientW); $("#divLock").css("display","block"); $("#divLock").css("background-color","#000000"); $("#divLock").css("position","fixed"); $("#divLock").css("z-index","100"); $("#divLock").css("top","0px"); $("#divLock").css("left","0px"); $("#divLock").css("opacity","0.5"); } else{ clientH = $(window).height(); //瀏覽器高度 clientW = $(window).width(); //瀏覽器寬度 $("#divLock").height(clientH); $("#divLock").width(clientW); } } //清除背景鎖定 function clearLockScreen(){ $("#divLock").remove(); } //清除DIV窗口 function clearDivWindow(){ $("#divWindow").remove(); } //窗口大小改變時(shí) $(window).resize( function(){ if($("#divLock").length != 0){ lockScreen(); } if($("#divWindow").length != 0){ divOpen(); } } ); //----------------彈出DIV仿模態(tài)窗口結(jié)束---------------- //改變風(fēng)格 function ChangeStyle(styleName){ skinName = styleName; //SetCookie("Skin", skinName); alert(styleName); window.location.reload(); }
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery窗口操作技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jQuery實(shí)現(xiàn)彈出窗口彈出div層的實(shí)例代碼
- jQuery彈出窗口打開鏈接的實(shí)現(xiàn)代碼
- jQuery實(shí)現(xiàn)選中彈出窗口選擇框內(nèi)容后賦值給文本框的方法
- jQuery實(shí)現(xiàn)彈出窗口中切換登錄與注冊(cè)表單
- jquery實(shí)現(xiàn)彈出窗口效果的實(shí)例代碼
- jQuery彈出窗口完整代碼(居中,居左,居右)
- Jquery彈出窗口插件 LeanModal的使用方法
- AeroWindow 基于JQuery的彈出窗口插件
- jQuery+jqmodal彈出窗口實(shí)現(xiàn)代碼分明
- jQuery彈出窗口簡(jiǎn)單實(shí)現(xiàn)代碼
相關(guān)文章
JQuery實(shí)現(xiàn)倒計(jì)時(shí)按鈕具體方法
頁(yè)面中需要實(shí)現(xiàn)某個(gè)按鈕點(diǎn)擊完后,禁用它,并顯示倒計(jì)時(shí)。這個(gè)默認(rèn)是3秒,代碼如下2013-11-11jquery實(shí)現(xiàn)marquee效果(文字或者圖片的水平垂直滾動(dòng))
原本在前端html代碼中,實(shí)現(xiàn)文字或者圖片的水平垂直滾動(dòng),都是使用的marquee,但隨著考慮瀏覽器的兼容性和符合為w3c的標(biāo)準(zhǔn),接下來介紹使用Jquery實(shí)現(xiàn)網(wǎng)頁(yè)marquee效果,感興趣的朋友可以了解下哦2013-01-01jQuery縱向?qū)Ш讲藛涡Ч麑?shí)現(xiàn)方法
這篇文章主要介紹了jQuery縱向?qū)Ш讲藛涡Ч麑?shí)現(xiàn)方法,可實(shí)現(xiàn)類似淘寶首頁(yè)縱向菜單的顯示效果,涉及jQuery鼠標(biāo)響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2016-12-12用jQuery解決IE不支持的option disable屬性
使用jQuery解決IE不支持的option disable屬性2009-05-05jQuery使用each方法與for語句遍歷數(shù)組示例
這篇文章主要介紹了jQuery使用each方法與for語句遍歷數(shù)組,結(jié)合實(shí)例形式簡(jiǎn)單對(duì)比分析了兩種方法在遍歷數(shù)組時(shí)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06jQuery實(shí)現(xiàn)的無縫廣告圖片左右滾動(dòng)功能詳解
這篇文章主要介紹了jQuery實(shí)現(xiàn)的無縫廣告圖片左右滾動(dòng)功能,結(jié)合實(shí)例形式詳細(xì)分析了jQuery無縫滾動(dòng)圖片的實(shí)現(xiàn)原理、步驟與具體操作技巧,需要的朋友可以參考下2016-12-12