jQuery实现弹出窗口弹出div层的实例代码


Posted in Javascript onJanuary 09, 2017

通过今天的jquery实例学习,我们要达到这样的效果:点击页面的链接,弹出一个div层,同时页面的其他部分变灰并且不能点击;无论是改变浏览器窗口大小还是下拉滚动条,这个弹出层都能始终保持居中;点击页面的关闭按钮,弹出层消失,页面恢复原样。

这里借鉴之前的一篇文章《基于jQuery的固定飘浮层》,使弹出窗口可以始终固定在浏览器的正中间。在这里有一个要点,就是如何使页面的其他地方在弹出窗口的同时变灰。我使用的方法就是在点击链接弹出div层的时候,给页面增加一个div层,这个层就“负责”使页面变灰。点击关闭后,删除这个层就能使页面恢复原样。不知道有没有更好的方法,有的话请告诉我哦。

其他应该没什么问题了,还是很简单的,在这里顺便贴上jQuery代码:

$(function(){ 
var screenwidth,screenheight,mytop,getPosLeft,getPosTop 

screenwidth = $(window).width(); 

screenheight = $(window).height(); 

//获取滚动条距顶部的偏移 

mytop = $(document).scrollTop(); 

//计算弹出层的left 

getPosLeft = screenwidth/2 - 260; 

//计算弹出层的top 

getPosTop = screenheight/2 - 150; 

//css定位弹出层 

$("#box").css({"left":getPosLeft,"top":getPosTop}); 

//当浏览器窗口大小改变时... 

$(window).resize(function(){ 

<span style="white-space:pre">  </span>screenwidth = $(window).width(); 

<span style="white-space:pre">  </span>screenheight = $(window).height(); 

<span style="white-space:pre">  </span>mytop = $(document).scrollTop(); 

<span style="white-space:pre">  </span>getPosLeft = screenwidth/2 - 260; 

<span style="white-space:pre">  </span>getPosTop = screenheight/2 - 150; 

<span style="white-space:pre">  </span>$("#box").css({"left":getPosLeft,"top":getPosTop+mytop}); 

}); 

//当拉动滚动条时... 

$(window).scroll(function(){ 

<span style="white-space:pre">  </span>screenwidth = $(window).width(); 

<span style="white-space:pre">  </span>screenheight = $(window).height(); 

<span style="white-space:pre">  </span>mytop = $(document).scrollTop(); 

<span style="white-space:pre">  </span>getPosLeft = screenwidth/2 - 260; 

<span style="white-space:pre">  </span>getPosTop = screenheight/2 - 150; 

<span style="white-space:pre">  </span>$("#box").css({"left":getPosLeft,"top":getPosTop+mytop}); 

}); 

//点击链接弹出窗口 

$("#popup").click(function(){ 

<span style="white-space:pre">  </span>$("#box").fadeIn("fast"); 

<span style="white-space:pre">  </span>//获取页面文档的高度 

<span style="white-space:pre">  </span>var docheight = $(document).height(); 

<span style="white-space:pre">  </span>//追加一个层,使背景变灰 

<span style="white-space:pre">  </span>$("body").append("<div id='greybackground'></div>"); 

<span style="white-space:pre">  </span>$("#greybackground").css({"opacity":"0.5","height":docheight}); 

<span style="white-space:pre">  </span>return false; 

}); 

//点击关闭按钮 

$("#closeBtn").click(function() { 

<span style="white-space:pre">  </span>$("#box").hide(); 

<span style="white-space:pre">  </span>//删除变灰的层 

<span style="white-space:pre">  </span>$("#greybackground").remove(); 

<span style="white-space:pre">  </span>return false; 

}); 
});

html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>jquery pop up</title> 
<script src=http://blog.soso.com/qz.q/"jquery.js" type="text/javascript"></script> 
<style type="text/css"> 
* {margin:0;padding:0;} 

#wrapper {height:1000px;} 

#box {display:none;position:absolute;width:520px;height:300px;border:#f60 solid 2px;z-index:200;background:#fff;} 

#closeBtn {position:absolute;right:10px;top:10px;cursor:pointer;} 

#greybackground {background:#000;display:block;z-index:100;width:100%;position:absolute;top:0;left:0;} 
</style> 
</head> 
<body> 
 <div id="wrapper"> 

<a href=http://blog.soso.com/qz.q/"#" id="popup">点击弹出div窗口</a> 
 </div> 
 <div id="box"> 
 <span style="white-space:pre"> </span><span id="closeBtn">关闭</span> 
 </div> 
</body> 
</html>

以上所述是小编给大家介绍的jQuery实现弹出窗口弹出div层的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用prototype实现的简单小巧的多级联动菜单
Mar 24 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
May 14 Javascript
javascript判断iphone/android手机横竖屏模式的函数
Dec 20 Javascript
js判断undefined类型示例代码
Feb 10 Javascript
javascript函数特点实例分析
May 14 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
浅述Javascript的外部对象
Dec 07 Javascript
vue bootstrap小例子一枚
Jun 09 Javascript
bootstrap tooltips在 angularJS中的使用方法
Apr 10 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
Aug 27 #Javascript
微信小程序 实战程序简易新闻的制作
Jan 09 #Javascript
jquery实现多次上传同一张图片
Jan 09 #Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 #Javascript
微信小程序 开发之快递查询功能的实现
Jan 09 #Javascript
vue日期组件 支持vue1.0和2.0
Jan 09 #Javascript
jQuery编写设置和获取颜色的插件
Jan 09 #Javascript
You might like
PHP加密解密类实例代码
2016/07/20 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
JavaScript函数、方法、对象代码
2008/10/29 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
jquery改变tr背景色的示例代码
2013/12/28 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
python实现网站的模拟登录
2016/01/04 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
电子商务专业毕业生求职信
2014/06/12 职场文书
债务纠纷委托书
2014/08/30 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
治庸问责工作总结
2015/08/11 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
Go语言应该什么情况使用指针
2021/07/25 Golang
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang