Blogger Information
Blog 5
fans 0
comment 0
visits 3020
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
通过创建留言板,学习js的基本概念—2019年7月11日23时
大吉利车队的博客
Original
535 people have browsed it

1. 实例演示你对事件代理机制的理解?

答:我对事件代理机制的理解是,子元素将要发生的事件由父元素代为管理并执行操作。

具体代码如下:

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件代理</title>
</head>
<body>

<label for="comment">请留言:</label>
<input type="text" id="comment"  autofocus>
<ul id="list"></ul>

<script>

    var comment = document.getElementById('comment');

    var list = document.getElementById('list');

    comment.addEventListener('keypress', addComment, false);

    function addComment(event) {

        if (event.key === 'Enter') {

            var item = document.createElement('li');


            item.innerHTML = comment.value;

            if (list.childElementCount === 0) {
                list.appendChild(item);
            } else {
                list.prepend(item,list.firstElementChild);
            }


            comment.value = null;
        }
    }

</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

这里直接借用了老师的代码,但我是用心去揣摩每句代码的意思的,代码用了父级的元素,即标签<ul>去创建新的<li>,当存在旧留言时,代码的父元素又把新留言<li>插入到旧<li>之前。



2. 模仿留言板案例, 利用学过的CSS知识, 写一个美观的留言板页面, 并使用JavaScript完成基本的留言添加与删除功能...

发挥你的想象力, 做一个看上去较为专业的界面....

答:经过复习消化老师的代码,因为知识储备不多,写了一个很简单的留言板,代码如下:

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>0711homework</title>
    <style>
        #welcome{
            color: red;
            font-size: 30px;
            text-align: center;
            line-height: 80px;
        }
        .header{
            min-height: 80px;
            background-color: aliceblue;
        }
        .memohead{
            width: 800px;
            height: 80px;
            margin: 0 auto;
        }


        .content{
            width:800px;
            min-height: 500px;
            background-color: bisque;
            margin: 10px auto;
        }

        .ulzone{
            width: 800px;
            min-height: 800px;
            margin:10px auto;
            background-color: aqua;
        }
    </style>
</head>
<body>

<div class="header">
<div class="memohead">
    <p id="welcome">留    言    板</p>
</div>
</div>

<div class="content">
    <label for="comment"></label>
    <input type="text" id="comment" onkeypress="said(this)" style="width: 800px;height:500px" autofocus>
</div>

<div class="ulzone">
<ul id="list">
</ul>
</div>

<script>
    function said(words) {
        // console.log(event);
        if (event.keyCode === 13) {
            var item=document.createElement("li");
            item.innerHTML=words.value;
            item.innerHTML += '  <button onclick="del(this)">删除</button>';
            // 以下用于检查留言是否是第一条,如果是,就直接记录,否则把新留言置顶
            var thisul = document.querySelector('#list');
            if (thisul.childElementCount===0){
                thisul.append(item);
            } else{
                var first = thisul.firstElementChild;
                thisul.prepend(item,first);
            }
            words.value=null;
        }
        // words.value=null;
    }

    function del(xxx) {
        if (confirm('您确定删除吗?')) {
            var star= xxx.parentElement;
            star.remove();

        }
    }

</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行效果图如下:

留言板.png

总结:真的好难,想哭!!但上课必须坚持,复习也是必须的,希望有一天能自己写个论坛。

Correction status:qualified

Teacher's comments:学习一个新知识是有趣的也是痛苦的, 要坚持
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post