jQuery實(shí)現(xiàn)彈出窗口彈出div層的實(shí)例代碼
通過今天的jquery實(shí)例學(xué)習(xí),我們要達(dá)到這樣的效果:點(diǎn)擊頁(yè)面的鏈接,彈出一個(gè)div層,同時(shí)頁(yè)面的其他部分變灰并且不能點(diǎn)擊;無論是改變?yōu)g覽器窗口大小還是下拉滾動(dòng)條,這個(gè)彈出層都能始終保持居中;點(diǎn)擊頁(yè)面的關(guān)閉按鈕,彈出層消失,頁(yè)面恢復(fù)原樣。
這里借鑒之前的一篇文章《基于jQuery的固定飄浮層》,使彈出窗口可以始終固定在瀏覽器的正中間。在這里有一個(gè)要點(diǎn),就是如何使頁(yè)面的其他地方在彈出窗口的同時(shí)變灰。我使用的方法就是在點(diǎn)擊鏈接彈出div層的時(shí)候,給頁(yè)面增加一個(gè)div層,這個(gè)層就“負(fù)責(zé)”使頁(yè)面變灰。點(diǎn)擊關(guān)閉后,刪除這個(gè)層就能使頁(yè)面恢復(fù)原樣。不知道有沒有更好的方法,有的話請(qǐng)告訴我哦。
其他應(yīng)該沒什么問題了,還是很簡(jiǎn)單的,在這里順便貼上jQuery代碼:
$(function(){
var screenwidth,screenheight,mytop,getPosLeft,getPosTop
screenwidth = $(window).width();
screenheight = $(window).height();
//獲取滾動(dòng)條距頂部的偏移
mytop = $(document).scrollTop();
//計(jì)算彈出層的left
getPosLeft = screenwidth/2 - 260;
//計(jì)算彈出層的top
getPosTop = screenheight/2 - 150;
//css定位彈出層
$("#box").css({"left":getPosLeft,"top":getPosTop});
//當(dāng)瀏覽器窗口大小改變時(shí)...
$(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});
});
//當(dāng)拉動(dòng)滾動(dòng)條時(shí)...
$(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});
});
//點(diǎn)擊鏈接彈出窗口
$("#popup").click(function(){
<span style="white-space:pre"> </span>$("#box").fadeIn("fast");
<span style="white-space:pre"> </span>//獲取頁(yè)面文檔的高度
<span style="white-space:pre"> </span>var docheight = $(document).height();
<span style="white-space:pre"> </span>//追加一個(gè)層,使背景變灰
<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;
});
//點(diǎn)擊關(guān)閉按鈕
$("#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">點(diǎn)擊彈出div窗口</a>
</div>
<div id="box">
<span style="white-space:pre"> </span><span id="closeBtn">關(guān)閉</span>
</div>
</body>
</html>
以上所述是小編給大家介紹的jQuery實(shí)現(xiàn)彈出窗口彈出div層的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- jQuery彈出窗口打開鏈接的實(shí)現(xiàn)代碼
- 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)簡(jiǎn)單的swiper輪播預(yù)覽原圖
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)簡(jiǎn)單的swiper輪播預(yù)覽原圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
jQuery實(shí)現(xiàn)的簡(jiǎn)單歌詞滾動(dòng)功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡(jiǎn)單歌詞滾動(dòng)功能,結(jié)合實(shí)例形式分析了基于jQuery插件scroll.js實(shí)現(xiàn)滾動(dòng)功能相關(guān)操作技巧,涉及jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)操作頁(yè)面元素相關(guān)實(shí)現(xiàn)方法,需要的朋友可以參考下2019-01-01
jquery1.83 之前所有與異步列隊(duì)相關(guān)的模塊詳細(xì)介紹
jQuery在1.5引入了Deferred對(duì)象(異步列隊(duì)),當(dāng)時(shí)它還沒有劃分為一個(gè)模塊,放到核心模塊中。直到1.52才分割出來2012-11-11
jQuery 遍歷-nextUntil()方法以及prevUntil()方法的使用介紹
本篇文章介紹了,jQuery 遍歷-nextUntil()方法以及prevUntil()方法的使用。需要的朋友參考下2013-04-04
基于jQuery實(shí)現(xiàn)文本框縮放以及上下移動(dòng)功能
這里給大家分享一段個(gè)人覺著非常實(shí)用也經(jīng)常用于項(xiàng)目中的代碼,本代碼基于jQuery實(shí)現(xiàn)了文本框縮放以及上下移動(dòng)功能,給需要的網(wǎng)友們參考下吧2014-11-11
jQuery(1.3.2) 7行代碼搞定跟隨屏幕滾動(dòng)的層
jQuery(1.3.2)7行代碼搞定跟隨屏幕滾動(dòng)的層,代碼很精簡(jiǎn)啊,非常不錯(cuò)。2009-05-05
jquery 讀取頁(yè)面load get post ajax 四種方式代碼寫法
jquery 讀取頁(yè)面load get post ajax 四種方式代碼寫法,學(xué)習(xí)jquery的朋友可以參考下。2011-04-04
jquery UI Datepicker時(shí)間控件的使用方法(基礎(chǔ)版)
這篇文章主要介紹了jquery ui datepicker時(shí)間控件的使用方法,需要的朋友可以參考下2015-11-11

