JS:day04

一、HTML DOM - 事件

DOM - 事件 鏈接

1、onload 和 onunload 事件

當(dāng)用戶進(jìn)入或離開頁面時,會觸發(fā) onload 和 onunload 事件。

<p id="p">hello world</p>

<script>
    var p = document.getElementById("p");
    window.onload=function(){
        p.style.color="red";
    }
</script>

2、onchange 事件(input)

當(dāng)用戶改變輸入字段的內(nèi)容時

<input type="text" id="input"/>

<script>
    var input = document.getElementById("input");
    input.onchange = function(){
        this.style.color="red";
    }
</script>

3、onfocus 獲取焦點 和 onblur 移除焦點

<input type="text" id="input"/>

<script>
    var input = document.getElementById("input");
    /*onfocus獲取焦點*/
    input.onfocus=function(){
        this.style.backgroundColor="pink";
    };
    /*onblur移除焦點*/
    input.onblur=function(){
        this.style.backgroundColor="red";
    }
</script>

4、onmouseover 和 onmouseout 事件

可用于在鼠標(biāo)指針移動到或離開元素時

<style>
        div{
            width:100px;
            height:100px;
            background-color: red;
        }
    </style>

<div id="div">是</div>

<script>
    var div = document.getElementById("div");
    div.onmouseover=function(){
        this.innerHTML="否";
    };
    div.onmouseout=function(){
        this.innerHTML="是";
    }
</script>

5、onmousedown 和 onmouseup 事件

鼠標(biāo)按鈕被點擊時,觸發(fā) onmousedown 事件,當(dāng)鼠標(biāo)按鈕被松開時,觸發(fā) onmouseup 事件

<style>
        div{
            width:100px;
            height:100px;
            background-color: red;
        }
 </style>

<div id="div"></div>

<script>
    var div = document.getElementById("div");
    div.onmousedown=function(){
        this.style.backgroundColor="pink";
    };
    div.onmouseup=function(){
        this.style.backgroundColor="red";
    }
</script>

二、圖片庫demo

<h1>圖片庫</h1>
<ul id="imageGallery">
    <li>
        <a href="images/image_1.png" title="01">第一張</a>
    </li>
    <li>
        <a href="images/image_2.png" title="02">第二張</a>
    </li>
    <li>
        <a href="images/image_3.png" title="03">第三張</a>
    </li>
    <li>
        <a href="images/image_4.png" title="04">第四張</a>
    </li>
</ul>
<!--![](images/dizhi_1.png)-->
<!--<p id="p">換掉我</p>-->
<script>
    var placeholder = document.createElement("img");
    placeholder.setAttribute("id","placeholder");
    placeholder.setAttribute("src","images/dizhi_1.png");
    placeholder.setAttribute("alt","占位符");
    var p = document.createElement("p");
    p.setAttribute("id","p");
    var text = document.createTextNode("換掉我");
    p.appendChild(text);

    var body = document.getElementsByTagName("body")[0];
    body.appendChild(placeholder);
    body.appendChild(p);

    function prepareGallery(){
        var imageGallery = document.getElementById("imageGallery");
        var li = imageGallery.getElementsByTagName("a");
        for(var i=0;i<li.length;i++){
            li[i].onclick = function(){
                show(this);
                return false;
            }
        }
    }
    prepareGallery();

    function show(pic){
        var href = pic.getAttribute("href");
        var placeholder = document.getElementById("placeholder");
        placeholder.setAttribute("src",href);
        var title = pic.getAttribute("title");
        var p = document.getElementById("p");
        p.firstChild.nodeValue=title;
    }
</script>

insertAfter函數(shù)

nextElementSibling:兄弟元素

<ul>
    <li id="one">1</li>
    <li id="two">2</li>
    <li>3</li>
</ul>

<script>
    var one = document.getElementById("one");
    var p = document.createElement("p");
    var text = document.createTextNode("hello");
    p.appendChild(text);

    insertAfter(p,two);

    function insertAfter(newElement,targetElement){
//                得到目標(biāo)元素的父節(jié)點
        var parent = targetElement.parentNode;
//                如果目標(biāo)元素是 parent 最后一個就在直接添加新元素
        if(parent.lastChild == targetElement){
            parent.appendChild(newElement);
//                 否則,就在 parent 前面的兄弟之后添加新元素
        }else{
            parent.insertBefore(newElement,targetElement.nextElementSibling);
        }
    }

</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.獲取非行間樣式 //獲取非行間css樣式 function getStyle(obj,attr){//獲取...
    二狗的小仙女閱讀 1,244評論 0 0
  • 通過 HTML DOM(文檔對象模型),可訪問 JavaScript HTML 文檔的所有元素。 JavaScri...
    _借東西的小人閱讀 291評論 0 2
  • 0 總結(jié) 本書的JS 第一章有講語法有挺多常見的坑點和原理解釋很不錯 第二章DOM編程講述了挺多API 第三章事件...
    王鈺峰閱讀 1,595評論 0 9
  • 警告請使用 document.write() 僅僅向文檔輸出寫內(nèi)容。如果在文檔已完成加載后執(zhí)行 document....
    鹿守心畔光閱讀 667評論 0 10
  • 一般事件 事件 瀏覽器支持 描述 onClick 鼠標(biāo)點擊事件,多用在某個對象控制的范圍內(nèi)的鼠標(biāo)點擊 onDbl...
    逍遙g閱讀 266評論 0 0

友情鏈接更多精彩內(nèi)容