• 记录我的旅程7之JavaScript Dom学习笔记


    前言:下面我们接着旅程6继续我们的JavaScript Dom征程7。这篇博客我们主要做了几个很实用的小案例来练习一下控制层,使我们能够更加的了解这个知识点,而且这些案例都是网站上面基本用的到,比如当我们单机登录的时候不是跳转页面,而是在本页面上面浮出一个层的登录方式,还有小图片看不清看大图片的效果等等。

    1. 控制层的练习

    (1)    练习1:点击【登录】按钮,弹出一个显示用户名,密码的层,将用户名,密码等写入一个层中,层默认是隐藏的,点击【登录】超链接以后将层显示出来,如果点击层中的关闭按钮,则隐藏层。

     1   <script type="text/javascript">
     2 
     3         function showLogin() {
     4 
     5             var loginDiv = document.getElementById("LoginDiv");
     6 
     7             loginDiv.style.display = '';
     8 
     9         }
    10 
    11         function hideLogin() {
    12 
    13             var loginDiv = document.getElementById("LoginDiv");
    14 
    15             loginDiv.style.display = 'none';
    16 
    17         }
    18 
    19     </script>
    20 
    21     <a href="javascript:showLogin()">登录</a>
    22 
    23     <div style="position:absolute; top:220px; left:500px; border-style:solid; border-color:Blue; border-thin; display:none" id="LoginDiv">
    24 
    25         <img src="../images/close.png" alt="关闭" onclick="hideLogin()" style="float:right" />
    26 
    27         <table>
    28 
    29             <tr>
    30 
    31                 <td><label for="username">用户名:</label></td>
    32 
    33                 <td><input type="text" id="username" /></td>
    34 
    35             </tr>
    36 
    37             <tr>
    38 
    39                 <td><label for="password">密 码:</label></td>
    40 
    41                 <td><input type="text" id="password" /></td>
    42 
    43             </tr>
    44 
    45         </table>
    46 
    47     </div>

      

    (2)    练习2:一副图片,点击小图,弹出一个层再点击的位置显示小图对应的大图,并且显示姓名,身高等信息,点击层中的关闭按钮关闭层。进阶:元素的额外属性,动画效果显示出来。

      

      <script type="text/javascript">
    
            function showDetails() {
    
                var details = document.getElementById("details");
    
                details.style.display = '';
    
                details.style.left = window.event.clientX;
    
                details.style.top = window.event.clientY;
    
            }
    
            function hideDetails() {
    
                var details = document.getElementById("details");
    
                details.style.display = 'none';
    
            }
    
        </script>
    
        <img src="../images/00_01small.jpg" alt="美丽" onmouseover="showDetails()" />
    
        <div style="display:none; position:absolute;" id="details">
    
            <img src="../images/00_01.jpg" alt="美丽大图" /><p>韩迎龙</p><p>Kencery</p>
    
            <p><input type="button" value="关闭" onclick="hideDetails()" /></p>
    
    </div>

       2)动态实现这种效果实现的代码如下:

       

     1 <script type="text/javascript">
     2 
     3         var data = { "../images/00_00small.jpg": ["../images/00_00.jpg", "韩迎龙", "180"],
     4 
     5             "../images/00_01small.jpg": ["../images/00_01.jpg", "博客园", "170"],
     6 
     7             "../images/00_02small.jpg": ["../images/00_02.jpg", "CSDN", "175"]
     8 
     9         };
    10 
    11             function loadImg() {
    12 
    13                 for (var smallImgPath in data) {
    14 
    15                     var smallImg = document.createElement("img");
    16 
    17                     smallImg.src = smallImgPath;
    18 
    19                     //setAttribute(string name, string value):增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。
    20 
    21                     smallImg.setAttribute("a1", data[smallImgPath][0]);
    22 
    23                     smallImg.setAttribute("a2", data[smallImgPath][1]);
    24 
    25                     smallImg.setAttribute("a3", data[smallImgPath][2]);
    26 
    27                     smallImg.onmouseover = function () {
    28 
    29                         document.getElementById("detailImg").src = this.getAttribute("a1");
    30 
    31                         document.getElementById("detailHeight").innerHTML = this.getAttribute("a2");
    32 
    33                         document.getElementById("detailName").innerHTML = this.getAttribute("a3");
    34 
    35                         var details = document.getElementById("details");
    36 
    37                         details.style.top = window.event.clientY;
    38 
    39                         details.style.left = window.event.clientY;
    40 
    41                         details.style.display = '';
    42 
    43                     };
    44 
    45                     document.body.appendChild(smallImg);
    46 
    47                 }
    48 
    49             }
    50 
    51             function hideDetails() {
    52 
    53                 var details = document.getElementById("details");
    54 
    55                 details.style.display = 'none';
    56 
    57             }
    58 
    59     </script>
    60 
    61 <body onload="loadImg()">
    62 
    63     <div style="position:absolute; display:none;" id="details">
    64 
    65         <img id="detailImg" src="" />
    66 
    67         <p id="detailHeight"></p><p id="detailName"></p>
    68 
    69         <p><input type="button" value="关闭" onclick="hideDetails()" /></p>
    70 
    71     </div>
    72 
    73 </body>
  • 相关阅读:
    SQLDirect 6.5 Source (Delphi 5-10.1 Berlin)
    中国自主X86处理器工艺跃进:国产28nm升级16nm(上海兆芯)
    底层库
    An Overview of Complex Event Processing2
    linux动态库编译和使用
    gulp
    Web前端性能优化
    ECLIPSE JSP TOMCAT 环境搭建
    项目架构mvc+webapi
    HTTP/1.1
  • 原文地址:https://www.cnblogs.com/hanyinglong/p/Javascript.html
Copyright © 2020-2023  润新知