zoukankan      html  css  js  c++  java
  • 9.16学习内容

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Day2</title>
        <style>
        /*     *{
                border: 0;
                padding: 0;
            } */
            ul{
                border: 0;
                padding: 0;
            }
            #imggallery li{
                list-style: none;
                display: inline-block;
            }
            #img2{
                 640px;
                height: 400px;
            
            }
            .hd    {
                height: 50px;
                 100%;
                clear: both;
            }
            .hd span{
                box-sizing: border-box;    
                float: left;
                height: 50px;
                 100px;
                border: 1px solid black;
                line-height: 50px;
                text-align: center;
                margin-right: -1px;    /* 相邻边框消除 */
            }
            .hdOn{
                background-color: pink;
            }
            .bd{
                 400px;
                height: 400px;
            }
            ol{
                list-style: none;
                padding: 0;
                margin: 0;
            }
            ol li{
                display: none;
    
            }
            .bdOn{
                background-color: pink;
                display: block;
                 400px;
                height: 400px;
            }
        </style>
    </head>
    <body>
        
    
        <!-- 禁用文本框 -->
        <input type="button" value="禁用" id="btn1">
        <input type="text" name="" id="tx1">
    
        <script>
            document.getElementById("btn1").onclick = function(){
                var tx1 = document.getElementById("tx1");
                tx1.disabled = true;
            };
        </script>
    
        <!-- 阻止超链接跳转  在点击事件中用return false 阻止默认的浏览器点击事件,也可以添加新事件-->
        <a href="http://www.baidu.com" onclick = "return false">百度</a>
        <a href="http://www.baidu.com" onclick = "alert('哈哈'); return false">百度</a>
        <a href="http://www.baidu.com" onclick="f1()">百度</a>    <!-- 这样不能阻止跳转,因为f1结果为false,而不是return false -->
        <a href="http://www.baidu.com" onclick="return f1()">百度</a>  <!--     正常 -->
    
        <a href="http://www.baidu.com" id="ak">百度</a>  
        <script>
            function f1(){
                alert("嘻嘻");
                return false;
            }
            document.getElementById("ak").onclick = function(){
                alert("嘻嘻");
                return false;
            };
        </script>
    
        <!-- 可以创建一个common.js表示公共的js文件并引用,里面存放一些公共的函数 -->
    
        <!-- 相册案例 -->
        <ul id = "imggallery">
            <li><a href="images/1.jpg" ><img src="images/1-small.jpg" alt=""></a></li>
            <li><a href="images/2.jpg" ><img src="images/2-small.jpg" alt=""></a></li>
            <li><a href="images/3.jpg" ><img src="images/3-small.jpg" alt=""></a></li>
            <li><a href="images/4.jpg" ><img src="images/4-small.jpg" alt=""></a></li>
        </ul>
        <div id="dv1">
            <img src="" alt=" " id="img2">
        </div>
        <script src="common.js">//创建一个common.js表示公共的js文件并引用,里面存放一些公共的函数</script>
        <script>
                var imgObj = my$("imggallery").getElementsByTagName("a");
                console.log(imgObj);
                for(var i = 0; i < imgObj.length; i++){
                    imgObj[i].onclick = function(){
                        my$("img2").src = this.href;    
                        return false;
                    };
                } 
        </script>
    
    
        <!-- 案例:改变背景颜色 -->
        <input type="button" value="变色" id="btn2">
        <ul id="uu">
            <li>1234567</li>
            <li>1234567</li>
            <li>1234567</li>
            <li>1234567</li>
            <li>1234567</li>
            <li>1234567</li>
            <li>1234567</li>
            <li>1234567</li>
        </ul>
        
    
        <script>
            my$("btn2").onclick = function(){
                var liObj = my$("uu").getElementsByTagName("li");
                for (i = 0; i < liObj.length; i++){
                    // if (i%2==0) {
                    //     liObj[i].style.backgroundColor = "red";
                    // }else{                //奇红偶黄注意i从零开始
                    //     liObj[i].style.backgroundColor = "yellow";
                    // }
                    liObj[i].style.backgroundColor = i % 2 == 0 ? "red" : "yellow";
                }
            };
        </script>
    
    
        <!-- onmouseover事件:鼠标进入        onmouseout事件:鼠标离开 -->
        <ul id="uu2">
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
            <li>fasfgaaabzc</li>
        </ul>
        <script>
            var liObj2 = my$("uu2").getElementsByTagName("li");
            for (i = 0; i < liObj2.length; i++) {
                liObj2[i].onmouseover = function(){
                    this.style.backgroundColor = "yellow";
                };
                liObj2[i].onmouseout = function(){
                    this.style.backgroundColor = "";
                };
            }
        </script>
    
        <!-- 一些其他的获取元素的方式 -->
        <!-- 根据name属性值获取表单里的标签元素:getElementsByName() -->
        <!-- 根据类名获取标签元素:getElementsByClassName() -->
        <!-- querySelector(选择器)根据选择器返回第一个元素 -->
        <!-- querySelectorAll(选择器)根据选择器返回所有元素伪数组 -->
    
    
        <!-- 一些其他DOM事件 -->
        <!-- onfocus获得焦点事件 -->
        <!-- onblur失去焦点事件 -->
    
        <!-- 案例:搜索框 -->
        <input type="text" value="请输入搜索内容" id="sousuo" style="color:gray; outline: none;">
        <script>
            var txt = document.querySelector("#sousuo");        //与document.getElementById("sousuo")效果一样
            txt.onfocus = function(){
                if (this.value == "请输入搜索内容") {
                    this.value = "";
                    this.style.color = "black";
                }
            };
            txt.onblur = function(){
                if(this.value == ""){    //这里改成this.value.length == 0更好,因为比较字符串更浪费资源
                    this.value = "请输入搜索内容";    
                    this.style.color = "gray";
                }
            };
        </script>
    
        <!-- innerText 与 innerHTML -->
        <div  id = "div2" style=" 100px;height: 100px;border: 1px dotted red;">
            
        </div>
    
        <script>
            my$("div2").innerText = "<p>这是一个p</p>";    //innerText不能添加标签,只能设置文本
            my$("div2").innerHTML = "<p>这是一个p</p>";    //innerHTML可以设置新标签,当然也可以设置文本内容
            console.log(my$("div2").innerText);            //innerText只能获取文本内容
            console.log(my$("div2").innerHTML);            //innerHTML可以获取内部的标签和文本
        </script>
    
    
        <!--innerText 和textContent的区别差异: 
        1. textContent不会理会html格式,会输出隐藏的文本 
        2. innerText会根据标签里面的样式输出显示出的文本
    
        3.兼容性: 
        innerText 谷歌 火狐 IE8都支持
        textContent IE8不支持
         -->
         <!-- 兼容代码:如果有的方法浏览器不支持的话,那么得到的是undefined
            根据这个原理编写兼容代码
            以textContent和innerText为例
          -->
          <script>
              function setInnerText(element, text){    //编写一个设置文本内容的函数
                  if(typeof element.textContent == "undefined"){
                      element.innerText = text;    //如果不支持textContent,则利用innerText
                  }else{
                      element.textContent = text;//支持则利用textContent
                  }
            }
    
            function getInnerText(element){    //编写一个获取文本内容的函数
                if(typeof element.textContent == "undefined"){
                      return element.innerText;    //如果不支持textContent,则利用innerText
                  }else{
                      return element.textContent;//支持则利用textContent
                  }
            }
    
          </script>
        
    
        <!-- 可以自定义Html标签中没有的属性--自定义属性,用来存放一些数据
            但是自定义属性不能通过DOM得到的标签对象直接获得,需要使用getAttribute("自定义属性")来获取
            也可以在OMD对象中设置自定义属性,如果使用.的方式设置,则不能在HTML中添加属性,只能添加到DOM对象上,
            可以使用setAttribute("自定义属性名","自定义属性值")来设置,会添加到Html对象中
    
            可以使用removeAttribute("自定义属性名")来移除html标签中的自定义属性,也可以移除HTML固有的属性
    
         -->
         <h3>点击英雄查看终结技</h3>
         <p terminus = "重力喷涌" style="cursor:pointer;">查莉亚</p>
         <p terminus = "原始暴怒" style="cursor:pointer;">温斯顿</p>
         <p terminus = "鸡飞狗跳" style="cursor:pointer;">路霸</p>
         <p terminus = "裂地猛击" style="cursor:pointer;">大锤</p>
        
        <script>
            var pObj = document.getElementsByTagName("p");
            for(i = 0; i<pObj.length; i++){
                pObj[i].onclick = function(){
                    // alert(this.terminus);        //这样不能得到自定义属性值
                    alert(this.getAttribute("terminus"));    //这样可以
                }
            }
        </script>
    
        
    
        <!-- 案例:切换标签改变 -->
        <div class="hd" id="hd">
            <span class="hdOn">新闻</span>
            <span>娱乐</span>
            <span>体育</span>
            <span>科技</span>
        </div>
        <div class="bd" id="bd">
            <ol>
                <li class="bdOn">这是新闻模块</li>
                <li>这是娱乐模块</li>
                <li>这是体育模块</li>
                <li>这是科技模块</li>    
            </ol>    
        </div>
        <script>
            var hds = document.getElementById("hd").getElementsByTagName("span");
            var bds = document.getElementById("bd").getElementsByTagName("li");
        
            //循环遍历给hds添加点击事件
            for (var i = 0; i < hds.length; i++) {
                hds[i].setAttribute("num",i);        //设置一个自定义属性为索引
                hds[i].onclick = function(){
                    //1.所有hd的模块样式清零
                    //2.被点击的模块修改样式
                    for(j = 0;j <hds.length; j++){
                        hds[j].className= "";
                    }
                    this.className = "bdOn";
    
                    //1.所有的bd模块隐藏
                    //2.对应的bd模块修改样式
                    for(k = 0;k < hds.length; k++){
                        bds[k].className = "";
                    }
    
                    bds[this.getAttribute("num")].className = "bdOn"    //无法获得对应的索引?,办法:利用setAttribute设置一个自定义属性存放索引,然后获取this的该属性值以利用
                };
    
            }
        </script>
    
    </body>
    </html>
  • 相关阅读:
    树莓派远程监控的实现
    frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)
    Linux下远程连接断开后如何让程序继续运行
    windows 远程连接登录树莓派桌面
    树莓派设置frpc开机启动
    树莓派 raspbian Linux 系统命令行 快捷键
    MyBatis如何防止SQL注入
    Apache POI导出excel表格
    SpringBoot文件上传
    SpringBoot整合定时任务
  • 原文地址:https://www.cnblogs.com/yucheng6/p/9657539.html
Copyright © 2011-2022 走看看