JS:day04

一、HTML DOM - 事件

DOM - 事件 链接

1、onload 和 onunload 事件

当用户进入或离开页面时,会触发 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)

当用户改变输入字段的内容时

<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 事件

可用于在鼠标指针移动到或离开元素时

<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 事件

鼠标按钮被点击时,触发 onmousedown 事件,当鼠标按钮被松开时,触发 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函数

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){
//                得到目标元素的父节点
        var parent = targetElement.parentNode;
//                如果目标元素是 parent 最后一个就在直接添加新元素
        if(parent.lastChild == targetElement){
            parent.appendChild(newElement);
//                 否则,就在 parent 前面的兄弟之后添加新元素
        }else{
            parent.insertBefore(newElement,targetElement.nextElementSibling);
        }
    }

</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.获取非行间样式 //获取非行间css样式 function getStyle(obj,attr){//获取...
    二狗的小仙女阅读 1,162评论 0 0
  • 通过 HTML DOM(文档对象模型),可访问 JavaScript HTML 文档的所有元素。 JavaScri...
    _借东西的小人阅读 242评论 0 2
  • 0 总结 本书的JS 第一章有讲语法有挺多常见的坑点和原理解释很不错 第二章DOM编程讲述了挺多API 第三章事件...
    王钰峰阅读 1,508评论 0 9
  • 警告请使用 document.write() 仅仅向文档输出写内容。如果在文档已完成加载后执行 document....
    鹿守心畔光阅读 633评论 0 10
  • 一般事件 事件 浏览器支持 描述 onClick 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDbl...
    逍遥g阅读 239评论 0 0