博客列表 >通过创建留言板,学习js的基本概念—2019年7月11日23时

通过创建留言板,学习js的基本概念—2019年7月11日23时

大吉利车队的博客
大吉利车队的博客原创
2019年07月12日 17:53:50534浏览

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

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

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议