中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js實現模態彈窗

發布時間:2020-07-21 21:41:08 來源:網絡 閱讀:7437 作者:蝸牛oscersong 欄目:開發技術

一.實現彈窗原理:

    

彈窗的實現:

      (1)先寫出一個div,彈出窗的樣式,然后使用display樣式進行隱藏;

      (2)當點擊登錄時,彈出窗口,這時display樣式變為block

      (3)遮罩層的實現,使用一個div,讓它占據整個屏幕,剛開始時隱藏,當點擊登錄時,遮罩層的display樣式變為block,只是設計時,讓遮罩層的z-index的值,小于彈窗的Z-index值,確保彈窗在屏幕的最上層。

      (4)彈窗位置的實現中,還使用了document.documentElement.clientHeight,document.documentElement.clientWidth,來實現隨著屏幕大小的變化,使彈框始終位于屏幕的中間位置。

二.具體實現:

  html代碼如下:

<header>
    <img src="../img/logoo.png" alt="圖標">
    <ul id="menu">
        <li id="menuli"><a href="#">莊園介紹</a>
        </li>
        <li id="menuli2"><a href="#">圖片集</a>
        </li>
        <li><a href="#">相關介紹</a>
        </li>
    </ul>
    <div class="login"><a href="#">登錄</a>
    </div>
</header>
<div id="article">
        <h4>歡迎來到薰衣草莊園</h4>
 
        <h6>放松自己,享受心情</h6>
 
</div>
<!-- 彈窗的部分html設計 -->
<div id="login">
     <h3><img src="../img/login_wrong.png" class="close">登錄彈窗</h3> 
    <form action="">
        <div class="form-group">
            <label for="user">用戶名</label>
            <input type="text" id="user" name="user" class="form-control" placeholder=" 請輸入用戶名">
        </div>
        <div class="form-group">
            <label for="pwd">密 碼</label>
            <input type="password" id="pwd" name="pwd" placeholder=" 請輸入密碼" class="form-control">
        </div>
        <button class="btn">登 錄</button>    
        <div id="other">    <a href="#">忘記密碼</a>|<a href="#">注冊用戶</a> 
        </div>
    </form>
</div>
<!-- 遮罩層的div -->
<div id="dropback"></div>

css代碼:

* {
    margin: 0;
    padding: 0;
}
body {
    background: url("../img/login_bg.png");
}
/* 遮罩層的css實現 */
#dropback {
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom: 0;
    background: #444;
    z-index: 1000;
    opacity: 0.9;
    display: none;
}
/* 彈窗的css實現 */
#login {
    width: 300px;
    height: 250px;
    position: absolute;
    border:1px solid #E5E5E5;
    display: none;
    z-index: 100;
    color:#666;
    border-radius: 4px;
    z-index: 1020;
    background: #fff;
}
/* 彈窗上關閉X號按鈕的實現 */
.close {
    position: relative;
    float:right;
    top:3px;
    right:5px;
    padding:5px;
    cursor: pointer;
}
/* 表單的css實現 */
.form-group {
    margin-bottom: 10px;
    margin-left: 5px;
}
label {
    display: inline-block;
    width: 20%;
}
.form-control {
    width: 70%;
    height: 20px;
    padding: 6px 0;
    font-size: 14px;
    line-height: 1.42857143;
    letter-spacing: 2px;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 4px 4px rgba(0, 0, 0, .075), 0 0 8px #F9F8FE;
}
.btn {
    display: inline-block;
    width: 40%;
    margin-left: 30%;
    margin-top: 10px;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c;
    border: 1px solid transparent;
    border-radius: 5px;
}
.btn:focus {
    color: #fff;
    background-color: #449d44;
    border-color: #398439;
    text-decoration: none;
}
#other {
    float:right;
    margin-top:20px;
}
#other a {
    color:#888;
    text-decoration: none;
}
#other a:hover {
    color:red;
    text-decoration: none;
}
/* 整體的其他css樣式實現 */
header {
    width: 100%;
    height:50px;
    background: #FFFEFE;
    border:1px solid #E5E5E5;
}
img {
    display: block;
    float:left;
  
}
ul {
    list-style-type: none;
    margin-left:150px;
    text-align: center;
}
ul>li {
    float:left;
}
ul>li>a {
    display: block;
    text-decoration: none;
    padding:5px 30px;
    color:#666;
    letter-spacing: 2px;
    line-height: 40px;
}
ul>li>a:hover {
    color:#000;
    background: #f1f1f1;
}
.login {
    float: right;
    margin-right: 30px;
    padding: 15px 0;
    letter-spacing: 2px;
    cursor: pointer;
}
.login>a {
    text-decoration:none;
    color: #666;
    display: block;
}
.login>a:hover {
    transform: scale(1.5);
    background: #f1f1f1;
    color:#000;
}

#article {
    width: 400px;
    margin-left: 20px;
}
h4 {
    color:white;
    letter-spacing: 3px;
    margin:12px;
    text-align: center;
    font-size: 32px;
}
h6 {
    color:white;
    letter-spacing: 3px;
    margin:12px;
    text-align: left;
    font-size: 26px;
    text-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
h3 {
    width: 100%;
    height: 30px;
    border-bottom: 1px solid #e5e5e5;
    text-align: center;
    margin-bottom: 25px;
    letter-spacing: 2px;
    color:#666;
    background-color: #f1f1f1;
    opacity: 0.8;
}

js代碼如下:

window.onload = function () {
 
    var close = document.getElementsByClassName('close');
    var login = document.getElementById('login');
    var logins = document.getElementsByClassName('login');
    var screen = document.getElementById('dropback');
    var bodyobj = document.body;
 
    function show(obj) {
        //獲取瀏覽器的寬和高
        var top = (document.documentElement.clientHeight - 250) / 2 - 150;
        var left = (document.documentElement.clientWidth - 300) / 2;
        //當點擊登錄按鈕時,登錄彈窗出現,遮罩層顯示
        screen.style.display = 'block'; //遮罩層顯示
        obj.style.display = 'block'; //登錄彈窗出現
        obj.style.left = left + 'px'; //登錄彈窗在屏幕中的位置
        obj.style.top = top + 'px';
 
    }
 
    function hide(obj) {
        //點擊差號時,登錄彈窗消失,遮罩層消失
        obj.style.display = 'none';
        screen.style.display = 'none';
    }
 
    close[0].addEventListener("click", function () {
        hide(login)
    }, false);
    logins[0].addEventListener("click", function () {
        show(login)
    }, false);
 
}

三.效果圖展示

初始頁面

js實現模態彈窗點擊頁面登錄:彈出窗口頁面如下:

js實現模態彈窗四.總結

   彈窗的是實現其實很簡單,就是用display屬性就可以解決,遮罩層也是控制其css屬性,就可以實現。還有一點沒有實現,就是彈窗會隨著鼠標進行移動,這個在后續的學習中繼續完成。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潢川县| 宣武区| 同心县| 崇左市| 平果县| 武义县| 四子王旗| 景泰县| 松桃| 巩留县| 资溪县| 综艺| 祁阳县| 山阴县| 汨罗市| 涞源县| 邛崃市| 舟曲县| 乐东| 正蓝旗| 古田县| 庐江县| 吉水县| 宜都市| 大渡口区| 壤塘县| 石泉县| 旬阳县| 汉中市| 犍为县| 新干县| 怀来县| 东方市| 辽阳市| 晋宁县| 青岛市| 乌苏市| 莱阳市| 神木县| 龙井市| 特克斯县|