jQuery實現(xiàn)的模擬彈出窗口功能示例
本文實例講述了jQuery實現(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中加載的頁面
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中加載的頁面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顯示的實際橫坐標(biāo)
div_Y += window.document.documentElement.scrollTop; //DIV顯示的實際縱坐標(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顯示的實際橫坐標(biāo)
div_Y += window.document.documentElement.scrollTop; //DIV顯示的實際縱坐標(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)頁高度
//var docW = $("body").width(); //網(wǎng)頁寬度
//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();
}
//窗口大小改變時
$(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擴展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
jquery ezUI 雙擊行記錄彈窗查看明細的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨query ezUI 雙擊行記錄彈窗查看明細的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建CRUD應(yīng)用
這篇文章主要幫大家輕松學(xué)習(xí)jQuery插件EasyUI,并利用EasyUI創(chuàng)建CRUD應(yīng)用,感興趣的小伙伴們可以參考一下2015-11-11
使用JS或jQuery模擬鼠標(biāo)點擊a標(biāo)簽事件代碼
這篇文章主要介紹了使用JS或jQuery模擬鼠標(biāo)點擊a標(biāo)簽事件代碼,需要的朋友可以參考下2014-03-03
jQuery.form.js插件不能解決連接超時(timeout)的原因分析及解決方法
jQuery.form.js是一個form插件,支持ajax表單提交和ajax文件上傳。最近在使用jquery.form.js提交包含文件的表單時,當(dāng)碰上網(wǎng)速較慢時,而我們又設(shè)置了timeout時我們的頁面會死在這里,怎么回事呢,下面腳本之家小編給大家解答下2016-10-10
基于jquery的獲取mouse坐標(biāo)插件的實現(xiàn)代碼
用jquery實現(xiàn)的獲取mouse坐標(biāo)的實現(xiàn)代碼,需要的朋友可以參考下。2010-04-04
學(xué)習(xí)從實踐開始之jQuery插件開發(fā) 對話框插件開發(fā)
之所以寫下這篇文章,是想將我的想法分享給大家;對于初學(xué)者,我希望他能從這篇文章中獲取對他有用的東西,對于經(jīng)驗豐富的開發(fā)者,我希望他能指出我的不足,給我更多的意見和建議;目的就是共同進步2012-04-04

