day02

A今天學到了什么

1.實現(xiàn)勾選
 <button id="btn">btn</button>
    <input type="checkbox">籃球
   
    <script>
        var btn=document.getElementById("btn");
        var input=document.getElementsByTagName("input")[0];
        console.log(input);
        btn.onclick=function(){
            // input.checked=(input.checked==true)?false:true;
            input.checked=!input.checked;
        }
    </script>
2.修改
2.1修改元素的樣式
  <p id="p">hello world</p>
    <button id="btn">change</button>
    <script>
        var btn=document.getElementById("btn");
        var p=document.getElementById("p");
        btn.onclick=function(){
            p.style.background="red";
        }
    </script>
2.2隔行變色
  <style>
        /* odd奇數(shù)項
           even偶數(shù)項 */
          ul>li:nth-child(odd){
          color: red;
         
         }
         ul>li:nth-child(even){
             color: blue;
         }
             
         
    </style>
2.3JS實現(xiàn)隔行變色
 <script>
    var lis =document.getElementsByTagName("li");
    for(let i = 0 ; i<lis.length; i++){
        if(i%2==0){
            lis[i].style.color="red";
            // lis[i].style.backgroundColor="red";
        }
        else{
            lis[i].style.color="blue";
        }
    }
    </script>
3.顯示隱藏
  <div id="div" style="display: block">

    </div>
    <button id="btn">
            toggle
    </button>
    <script>
        var div=document.getElementById("div");
        var btn=document.getElementById("btn");
        btn.onclick=function(){
            // let value =div.style.display;
            // if(value=="block"){
            //     div.style.display="none";
            // }else{
            //     div.style.display="block";
            // }
            div.style.display=(div.style.display=="none")?"block":"none";
        }
    </script>
4.局限性
 <div id="test" style="width: 100px">

    </div>
    <script>
        // element.style.attr
        // 只能獲取內(nèi)聯(lián)樣式
        let test =document.getElementById("test");
        // let value=test.style.width;
        // console.log(value);

        // 1.在chrome下獲取
        // getComputedStyle(元素,null).屬性
        let value=window.getComputedStyle(test,null).width;
        // 在IE瀏覽器
        let ieValue=test.currentStyle.width;
        console.log(value);
    </script>
    
5.通過className獲取
 <p id="p">
        hello world
    </p>
    <button id="btn">btn</button>
    <script>
        var btn=document.getElementById("btn");
        var p=document.getElementById("p");
        btn.onclick=function(){
            p.className=(p.className=="current")?"none":"current"
        }
    </script>
6.node(節(jié)點)
6.1node用法
 <p>hello world <span>good</span></p>
    <script>
        // 獲取節(jié)點中所有的文本內(nèi)容
    
        var p=document.getElementsByTagName("p")[0];
        var nodeContent=p.textContent;
        console.log(nodeContent);
    </script>
6.2node value
 <!-- 注釋節(jié)點 -->
    <!-- p標簽是元素節(jié)點 -->
    <!-- hello world 是文本節(jié)點 -->
    <p> hello world</p>
    <!-- node value 只能獲取注釋節(jié)點和文本節(jié)點 -->
    <script>
        
    </script>
</body>

6.3node type
  <!--  -->
    <p class="one" id="p">hello world</p>
    <script>
        // node type
        // 1.元素節(jié)點
        // 2.屬性節(jié)點 
        // 3.文本節(jié)點
        var p=document.getElementById("p");
        var eNode=p.nodeType;
        var tNode=p.firstChild.nodeType
        var attrNode=p.getAttributeNode("class").nodeType;
        console.log(eNode);
        console.log(tNode);
        console.log(attrNode);

    </script>
6.4 增加節(jié)點appendChild
   <div id="parent">
        <p id="one">hello world</p>
 
    </div>
    <button id="add">add</button>
    <script>
        // 增加節(jié)點  語法 parentNode.appendChild(childNode)
        // createElement()創(chuàng)建元素節(jié)點
        // createTextNode 創(chuàng)建文本節(jié)點
        var add=document.getElementById("add");
        var parent=document.getElementById("parent");
         add.onclick = function(){
            let p=document.createElement("p");
            let txt=document.createTextNode("first");
            p.appendChild(txt);
            // console.log(p);
            // parent.appendChild(p);(在后面增加)
            // insertBefore 語法 parentNode.insertBefore(元素,id)
            // parent.insertBefore(p,one);(在前面增加)
        }
    </script>
6.5 修改節(jié)點repalceChild
  <div id="parent">
        <p id="child"> hello world</p>
    </div>
    <button id="btn">btn</button>
    <script>
        // 語法parentNode.replaceChild(newNode,targetNode)
        var btn=document.getElementById("btn");
        var parent=document.getElementById("parent");
        var child=document.getElementById("child");

        btn.onclick=function(){
            let h4=document.createElement("h4");
            let txt=document.createTextNode("修改");
            h4.appendChild(txt);
            parent.replaceChild(h4,child);
        }
    </script>
6.6克隆節(jié)點cloneNode
 <p>hello world</p>
    <script>
        // 克隆節(jié)點語法
        // nodeElement.cloneNode(true);
        var p= document.getElementsByTagName("p")[0];
        var cp=p.cloneNode(true);
        document.body.appendChild(cp);
    </script>
    
7.事件
7.1 onfocusoblur
   <input type="text" id="input">
    <script>
        // onfocus  獲取焦點
        // oblur 失去焦點
        // 在事件中 this指向正在執(zhí)行事件的對象
        var input=document.getElementById("input");
        input.onfocus=function(){
            this.style.background="red";
        }
        input.onblur=function(){
            this.style.background="green";
        }
    </script>
7.2 鼠標事件
    <p id="test">hello world</p>
    <script>
        // var test= document.getElementById("test");
        // onmouseover 鼠標移動到某元素上
        // onmouseout 鼠標移出
        test.onmouseover=function(){
            this.style.color="red";

        }
        test.onmouseout=function(){
            this.style.color="blue"
        }
    </script>
7.3 DOM事件
<title>Document</title>
    <script src="JS/index.js">
        // window.onload
        // 整個DOM樹以及相關的圖片資源加載完成之后執(zhí)行相關的代碼
      
    </script>
8.onchange
 <input type="text" name="" id="">
    <script>
            // onchange 域的內(nèi)容發(fā)生改變的時候觸發(fā)
        var input=document.getElementsByTagName("input")[0];


        input.onchange=function(){
            this.value="改變"
        }
    </script>
9.onsubmit
   <form action="">
        <input type="text">
        <button type="submit">提交</button>
    </form>
    <script>
        // onsubmit 表單被提交的時候發(fā)生
        var submit = document.getElementsByTagName("form")[0];
        submit.onsubmit=function(){
            alert("提交菜單")
        }
    </script>
10.onresize
   <div>

    </div>
    <script>
        window.onresize=function(){
            alert("瀏覽器窗口發(fā)生改變時觸發(fā)");
        }
        window.onscroll=function(){
            alert("窗口滾動時觸發(fā)")
        }
    </script>
    <style>
        div{
           
            height: 1000px;
            background: red;
        }

    </style>

11.key的用法

    <!-- 顯示對應的鍵盤號 -->
    <!-- onkeydown 鍵盤按下時觸發(fā)
          event.keyCode 按下的鍵盤對應的鍵盤碼-->
          <!--onkeypress 按著鍵盤的時候  -->
          <!-- onkeyup拿起來的時候 -->
    <script>
        document.onkeydown=function(event){
            alert(event.keyCode)
        }
    </script>

12.em的用法

    <p>你還可以輸入<em id="show">0</em>/150個字</p>
    <textarea id="txt" cols="30" rows="10"></textarea>
    <script>
        let show=document.getElementById("show");
        let txt =document.getElementById("txt");
        txt.onkeyup=function(){
            let length=txt.value.length;
            show.innerHTML=length;
        }
    </script>
13.window的用法
13.1 window的屬性
  <script>
        // js的頂級作用域就是window
        // 全局變量是window的屬性
        // 方法是widnow的方法
    var a= 10;
    console.log(window.a);
    function b(){
        console.log(this);
    }
    // this指向window
    window.b();
    </script>
13.2 window confirm
 <div>
        <span id="mi">小米8</span> <button id="btn"> btn</button>
    </div>
    <script>
        // 確定 返回 true     取消返回 false
       var result= window.confirm("是否取消");
       console.log(result);
       let btn =document.getElementById("btn");
       let mi=document.getElementById("mi");
       btn.onclick=function(){
           var result=window.confirm("你確定不要小米8嗎");
           if(result){
               mi.style.display="none";
           }else{
               mi.style.display="block";
               
           }
       }
    </script>

B.小米登錄頁面的實現(xiàn)

1.css部分

   <style>
        *{margin: 0;padding: 0}
        .form{
            width: 400px;
            border: 1px solid #333;
            text-align: center;
            margin-left: auto;
            margin-right: auto;
            margin-top: 50px;
            box-shadow: 0 0 10px 5px #333;
        }
        li{
            list-style: none;
            display: inline-block;
        }
        ul{
            line-height: 50px;
        }
        .content{
            position: relative;
            height: 200px;
        }
        .content>div{
            position: absolute;
            height: 100%;
            width: 100%;
        }
        .saoma{
            display: none;           
        }
        input{
            width: 360px;
            height: 40px;
            margin-top: 20px;
        }
        .current{
            color: orange;
        }
    </style>

2.html部分

 <div class="form">
        <ul>
            <li class="current">賬號登錄</li>
            <li>掃描登錄</li>
        </ul>
    

    <div class="content ">
        <div class="account child">
            <div><input type="text"></div>
            <div><input type="password"></div>
            <div><input type="submit" value="立即登錄"></div>

        </div>
        <div class="saoma child">
            <img src="images/01.png" alt="">
        
        </div>
        
    </div>
    </div>

3.JS部分

      <!-- 1.給每個li一個點擊事件
            2.給每個li一個index屬性
            3.讓對應參數(shù)的contents顯示派撕,其他隱藏 -->
        <script>    
            var lis=document.getElementsByTagName("li");
            // var contents=document.getElementsByClassName("child");
            var contents=document.querySelectorAll(".content>div");
            // console.log(contents);
            // 點擊li 讓正在被點擊的class=current  其他的class=""
            for(let i=0;i<lis.length;i++){
                lis[i].index=i;
                lis[i].onclick=function(){
                    // 先將所有的li className 清空
                    for(let i=0;i<lis.length;i++){
                        lis[i].className="";
                    }
                    // 當前項的li class=current;
                    this.className="current";
                    for(let i =0;i<contents.length;i++){
                        contents[i].style.display="none";
                    }
                    // console.log(i);
                    contents[this.index].style.display="block";
                }
            }
        </script>
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌穴张,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異憔古,居然都是意外死亡,警方通過查閱死者的電腦和手機淋袖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門鸿市,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人即碗,你說我怎么就攤上這事焰情。” “怎么了剥懒?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵内舟,是天一觀的道長。 經(jīng)常有香客問我初橘,道長验游,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任保檐,我火速辦了婚禮耕蝉,結果婚禮上,老公的妹妹穿的比我還像新娘夜只。我一直安慰自己垒在,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布扔亥。 她就那樣靜靜地躺著爪膊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪砸王。 梳的紋絲不亂的頭發(fā)上推盛,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音谦铃,去河邊找鬼耘成。 笑死,一個胖子當著我的面吹牛驹闰,可吹牛的內(nèi)容都是我干的瘪菌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嘹朗,長吁一口氣:“原來是場噩夢啊……” “哼师妙!你這毒婦竟也來了?” 一聲冷哼從身側響起屹培,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤默穴,失蹤者是張志新(化名)和其女友劉穎怔檩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓄诽,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡薛训,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了仑氛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乙埃。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖锯岖,靈堂內(nèi)的尸體忽然破棺而出介袜,到底是詐尸還是另有隱情,我是刑警寧澤出吹,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布米酬,位于F島的核電站,受9級特大地震影響趋箩,放射性物質發(fā)生泄漏赃额。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一叫确、第九天 我趴在偏房一處隱蔽的房頂上張望跳芳。 院中可真熱鬧,春花似錦竹勉、人聲如沸飞盆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吓歇。三九已至,卻和暖如春票腰,著一層夾襖步出監(jiān)牢的瞬間城看,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昂验。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像轰胁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子朝扼,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1 關鍵字 1.1 關鍵字的概述 Java的關鍵字對java的編譯器有特殊的意義赃阀,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 646評論 0 0
  • Day02的課程要點記錄詳細教程地址:金角大王 - Day1 Python基礎1金角大王 - Day2 Pytho...
    乘風逐月閱讀 464評論 0 0
  • 經(jīng)驗總結:1.開發(fā)中不經(jīng)常使用XML經(jīng)常使用JSON擎颖,開發(fā)中要寫單獨的UNIT單元測試類榛斯,單獨的工具類封包观游,開發(fā)中...
    123yuan123閱讀 243評論 0 1
  • 第一次挑戰(zhàn)10km,很輕松肖抱,跑完感覺整個人都舒坦了备典。
    可愛的紅泥小火爐閱讀 177評論 0 0
  • 在大森林的深處异旧,有一棵巨大的老松樹意述,在這棵松樹上住著小松鼠跳跳一家。 有一天晚上吮蛹,月亮高高掛在空中荤崇,星星眨巴著眼睛...
    芝士村的cheese閱讀 316評論 0 2