美文网首页
JS:day04

JS:day04

作者: AnnQi | 来源:发表于2017-08-03 19:01 被阅读0次

一、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>

相关文章

  • 硅谷外卖项目day04

    day04 项目地址 一、ShopGoods组件 1、动态展现列表数据 使用mock.js模拟商品数据,实现列表数...

  • JS:day04

    一、HTML DOM - 事件 DOM - 事件 链接 1、onload 和 onunload 事件 当用户进入或...

  • js day04

    A今天学了神马 1创建数组 2数组的长度 3数组的索引值 4伪数组(具有length属性) 5数组的遍历 6els...

  • CSS2

    Day04****************************************************...

  • js基础day04

    js基础day04 一.自定义属性 可以给任何元素自定义一个属性使用, 用来保存数据, 方便使用 自定义属性生命周...

  • 自律给我自由—Day004

    【叶子姑娘的自律100天挑战 Day04】 2019.01.17 Day04/100 【早起】醒的太早导致差点没起...

  • day04补充-数组练习代码

    补充day04练习代码:

  • day04 -js04

    获取可视区的宽度和高度获取宽高的时候,要看有没有DTD的说明,如果有,使用documentElement,如果没有...

  • 【简快】《婚姻亲子双修训练Day04》

    【简快】《婚姻亲子双修训练Day04》

  • java035从文本文件中读取数据到集合

    package day04; import java.io.BufferedReader; import java...

网友评论

      本文标题:JS:day04

      本文链接:https://www.haomeiwen.com/subject/cqtmlxtx.html