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 相关文章推荐
js的一些常用方法小结
Jun 29 Javascript
jQuery搜索子元素的方法
Feb 10 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
Jun 19 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
Aug 29 Javascript
AngularJS实现路由实例
Feb 12 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 Javascript
Bootstrap Table快速完美搭建后台管理系统
Sep 20 Javascript
微信小程序时间选择插件使用详解
Dec 28 Javascript
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
node.js如何根据URL返回指定的图片详解
Oct 21 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
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
python中使用PIL制作并验证图片验证码
2018/03/15 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
Python如何实现爬取B站视频
2020/05/20 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
园林资料员岗位职责
2013/12/30 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
顶岗实习计划书
2015/01/16 职场文书
居住证明范文
2015/06/17 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
Python如何导出导入所有依赖包详解
2021/06/08 Python
学会Python数据可视化必须尝试这7个库
2021/06/16 Python