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-11
jquery實(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-01
jQuery縱向?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-05
jQuery使用each方法與for語句遍歷數(shù)組示例
這篇文章主要介紹了jQuery使用each方法與for語句遍歷數(shù)組,結(jié)合實(shí)例形式簡(jiǎn)單對(duì)比分析了兩種方法在遍歷數(shù)組時(shí)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
jQuery實(shí)現(xiàn)的無縫廣告圖片左右滾動(dòng)功能詳解
這篇文章主要介紹了jQuery實(shí)現(xiàn)的無縫廣告圖片左右滾動(dòng)功能,結(jié)合實(shí)例形式詳細(xì)分析了jQuery無縫滾動(dòng)圖片的實(shí)現(xiàn)原理、步驟與具體操作技巧,需要的朋友可以參考下2016-12-12

