首页 > 编程 > JavaScript > 正文

jQuery实现的模拟弹出窗口功能示例

2019-11-19 18:50:09
字体:
来源:转载
供稿:网友

本文实例讲述了jQuery实现的模拟弹出窗口功能。分享给大家供大家参考,具体如下:

//初始化文档$(document).ready();//----------------弹出DIV仿模态窗口开始----------------var divW;  //DIV宽度var divH;  //DIV高度var clientH;  //浏览器高度var clientW;  //浏览器宽度var divTitle;  //DIV标题var pageUrl;  //DIV中加载的页面var div_X;  //DIV横坐标var div_Y;  //DIV纵坐标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");    }  );  //关闭DIV窗口  $("#x").click(    function(){      clearDivWindow();      clearLockScreen();    }  );}//返回弹出的DIV的坐标function divOpen(){  var minTop = 80;  //弹出的DIV记顶部的最小距离  if($("#divWindow").length == 0){    clientH = $(window).height();  //浏览器高度    clientW = $(window).width();  //浏览器宽度    div_X = (clientW - divW)/2;  //DIV横坐标    div_Y = (clientH - divH)/2;  //DIV纵坐标    div_X += window.document.documentElement.scrollLeft;  //DIV显示的实际横坐标    div_Y += window.document.documentElement.scrollTop;  //DIV显示的实际纵坐标    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的横坐标    $("#divWindow").css("top",(div_Y + "px"));  //定位DIV的纵坐标    $("#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横坐标    div_Y = (clientH - divH)/2;  //DIV纵坐标    div_X += window.document.documentElement.scrollLeft;  //DIV显示的实际横坐标    div_Y += window.document.documentElement.scrollTop;  //DIV显示的实际纵坐标    if(div_Y < minTop){      div_Y = minTop;    }    $("#divWindow").css("left",(div_X + "px"));  //定位DIV的横坐标    $("#divWindow").css("top",(div_Y + "px"));  //定位DIV的纵坐标  }}//锁定背景屏幕function lockScreen(){  if($("#divLock").length == 0){  //判断DIV是否存在    clientH = $(window).height();  //浏览器高度    clientW = $(window).width();  //浏览器宽度    //var docH = $("body").height();  //网页高度    //var docW = $("body").width();  //网页宽度    //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仿模态窗口结束----------------//改变风格function ChangeStyle(styleName){  skinName = styleName;  //SetCookie("Skin", skinName);  alert(styleName);  window.location.reload();}

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery窗口操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结

希望本文所述对大家jQuery程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表