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 相关文章推荐
学习从实践开始之jQuery插件开发 菜单插件开发
May 03 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
Nov 19 Javascript
javascript实现获取字符串hash值
May 10 Javascript
js钢琴按钮波浪式图片排列效果代码分享
Aug 26 Javascript
深入理解JavaScript定时机制
Oct 27 Javascript
详解堆的javascript实现方法
Nov 29 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
JS实现手写parseInt的方法示例
Sep 24 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 Javascript
vue2.0 资源文件assets和static的区别详解
Apr 08 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 xml留言板 xml存储数据的简单例子
2009/08/24 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
js活用事件触发对象动作
2008/08/10 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
微信小程序之蓝牙的链接
2017/09/26 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
python判断设备是否联网的方法
2018/06/29 Python
Python合并多个Excel数据的方法
2018/07/16 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
python装饰器使用实例详解
2019/12/14 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
新文化运动的口号
2014/06/21 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
入股协议书范本
2014/11/01 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
合作意向书范本
2019/04/17 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
python高温预警数据获取实例
2022/07/23 Python