JQuery實現頁面彈出框
本文實例為大家分享了JQuery實現頁面彈出框的具體代碼,供大家參考,具體內容如下
bootstrap4里面有個模態(tài)框,點擊頁面中的某個按鈕或者元素就會彈出一個框框:


今天嘗試用JQ來實現一下,具體的思路就是:
1、在頁面中創(chuàng)建一個div
2、用JQ中的hide()和show()來控制上面的div的隱藏和顯示
第一步:創(chuàng)建按鈕,div,樣式
<head>
?? ?<meta charset="UTF-8">
?? ?<title>頁面彈出框</title>
?? ?<style>
?? ??? ?#popUpBox{
?? ??? ??? ?display: block;?? ??? ?//一開始應該是隱藏狀態(tài),所以是none
?? ??? ??? ?width: 1080px;?? ?//彈出框的寬
?? ??? ??? ?height: 630px;?? ?//彈出框的高
?? ??? ??? ?background-color: yellow;
?? ??? ??? ?margin:0 auto;?? ?//彈出框頁面居中
?? ??? ?}
?? ??? ?</style>
?? ?</head>
<body>
?? ?<button id="ShowBox" onclick="ShowBox('popUpBox')">點擊顯示彈出框</button>
?? ?<div id="popUpBox">
?? ??? ?//里面是彈出框的內容?? ?
?? ?</div>
</body>第二步:引入JQ文件和寫函數實現功能
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script>
?? ?function ShowBox(BoxID){
?? ??? ?//獲取頁面要顯示的彈出框的id
?? ??? ?var popBox = $("#"+BoxID);
?? ??? ?//用show()方法使其顯示出來
?? ??? ?popBox.show();
?? ?}
?? ?function HideBox(BoxID){
?? ??? ?//獲取頁面要隱藏的彈出框的id
?? ??? ?var popBox = $("#"+BoxID);
?? ??? ?//用hide()方法使其隱藏
?? ??? ?popBox.hide();
?? ?}
</script>效果:


第三步:優(yōu)化一下彈出框的細節(jié),比如右上角給它加個關閉的功能等等,放上全部代碼
<!DOCTYPE html>
<html>
?? ?<head>
?? ??? ?<meta charset="UTF-8">
?? ??? ?<title>頁面彈出框</title>
?? ??? ?<style>
?? ??? ??? ?#popUpBox{
?? ??? ??? ??? ?display: none;
?? ??? ??? ??? ?width: 1080px;
?? ??? ??? ??? ?height: 630px;
?? ??? ??? ??? ?margin: 0 auto;
?? ??? ??? ??? ?background-color: yellow;
?? ??? ??? ?}
?? ??? ??? ?#BoxHead{
?? ??? ??? ??? ?/*文字水平居中*/
?? ??? ??? ??? ?text-align: center;?? ?
?? ??? ??? ??? ?/*寬度繼承popUpBox的,不需要設置*/
?? ??? ??? ??? ?height: 40px;
?? ??? ??? ??? ?border: 1px solid black;
?? ??? ??? ?}
?? ??? ??? ?#BoxHead>*{
?? ??? ??? ??? ?/*只有一行,將line-heigh的數值設置的和父容器的高度一樣*/
?? ??? ??? ??? ?/*可以實現垂直居中*/
?? ??? ??? ??? ?line-height: 40px;
?? ??? ??? ?}
?? ??? ??? ?#BoxHead>a{
?? ??? ??? ??? ?float: right;
?? ??? ??? ??? ?margin-right: 10px;
?? ??? ??? ?}
?? ??? ?</style>
?? ?</head>
?? ?<body>
?? ??? ?<button id="ShowBox" onclick="ShowBox('popUpBox')">點擊顯示彈出框</button>
?? ??? ?<div id="popUpBox">
?? ??? ??? ?<!--彈出框的頭部,里面有彈出框標題和關閉按鈕-->
?? ??? ??? ?<div id="BoxHead">
?? ??? ??? ??? ?<label>彈出框</label>
?? ??? ??? ??? ?<a href="javascript:void(0)" onclick="HideBox('popUpBox')">x</a>
?? ??? ??? ?</div>
?? ??? ??? ?<!--彈出框的主體部分-->
?? ??? ??? ?<div id="BoxBody"></div>
?? ??? ??? ?<!--彈出框的底部,可以加一些功能按鈕,比如說保存按鈕-->
?? ??? ??? ?<div id="BoxFooter"></div>
?? ??? ?</div>
?? ?</body>
?? ?<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
?? ?<script>
?? ??? ?function ShowBox(BoxID){
?? ??? ??? ?//獲取頁面要顯示的彈出框的id
?? ??? ??? ?var popBox = $("#"+BoxID);
?? ??? ??? ?//用show()方法使其顯示出來
?? ??? ??? ?popBox.show();
?? ??? ?}
?? ??? ?function HideBox(BoxID){
?? ??? ??? ?//獲取頁面要隱藏的彈出框的id
?? ??? ??? ?var popBox = $("#"+BoxID);
?? ??? ??? ?//用hide()方法使其隱藏
?? ??? ??? ?popBox.hide();
?? ??? ?}
?? ?</script>
</html>最終效果:

上面這就是用JQ對彈出框功能的實現,實際應用中建議從外部引入CSS文件,免得太亂了,還有就是JQ的show()和hide()可以設置speed參數,就顯示和隱藏的速度,會有一個淡入淡出的效果。
hide(1000); show(1000);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JQuery FlexiGrid的asp.net完美解決方案 dotNetFlexGrid-.Net原生的異步表格控件
dotNetFlexGrid是一款dotNet原生的異步表格控件,他的前身是Jquery FlexiGrid插件,我們重構了FlexiGrid的大部分Javascript代碼,使其工作的更有效率,BUG更少;同時將其封裝為dotNet控件,提供了簡單易用的使用方式。2010-09-09
如何使用jquery修改css中帶有!important的樣式屬性
如何使用jquery修改css中帶有!important的樣式屬性?下面小編就為大家?guī)硪黄褂胘query修改css中帶有!important的樣式屬性方法。希望對大家有所幫助。一起跟隨小編過來看看吧2016-04-04
Jquery 過濾器(first,last,not,even,odd)的使用
Jquery 過濾器,顧名思義就是過濾一些不需要的元素,主要有first,last,not,even,odd等等,下面有個使用示例,大家可以感受下2014-01-01

