js留言板(详细版)

2019-10-26  本文已影响0人  XiaoAM

首先我们创建div来做留言板,再来个文本域和按钮

    <div></div>
    <textarea name="" id="" cols="30" rows="10"></textarea>
    <button>留言</button>

然后我们简单排个版

* {
    margin: 0;
    padding: 0;
    list-style: none;
}

div {
    width: 300px;
    height: 300px;
    margin-left: 100px;
    border: solid 1px #d9e;
    overflow: scroll;

    p {
        border-bottom: dashed 1px #999;
        font-size: 15px;
        height: 25px;
        line-height: 25px;

        span {
            margin-left: 30px;
            font-size: 10px;
            color: #555;
        }

        button {
            height: 25px;
            float: right;
        }
    }



}

textarea {
    width: 300px;
    height: 100px;
    margin-left: 100px;
    margin-top: 30px;

}

button {
    width: 50px;
    height: 30px;

}

.active {
    display: none;
}

接下来我们就开始写js啦,请看注释

<script>
var btn = document.querySelector('button');//获取留言按钮
var text = document.querySelector('textarea');//获取文本域
var div = document.querySelector('div');//获取div盒子
btn.onclick = function(){创建事件
    getHtml();
}
window.onkeydown = function(e){//键盘事件
    var e = window.event || e.event;//兼容
    if(e.keyCode == 13){//判断按的是回车键时
        getHtml();
    }
}

function getHtml(){//封装函数
    var time = new Date();//现在时间
    var textVelue = text.value.trim();//获取留言内容并去留言的前后空格
    if(textVelue.length == 0 && textVelue == ''){////留言没有内容就停止执行
        return;
    }
    var str = `${time.getFullYear()}.${time.getMonth()-1}.${time.getDate()} ${time.getHours()}:${time.getMinutes()}:${time.getSeconds()}`;
    div.innerHTML += `<p>${textVelue}<span>${str}</span><button>删除</button></p>`;//留言内容写入留言板
    text.value = ''//留言内容写入留言板后,文本域为空
}
div.onclick = function(e){//事件委托
    var e = window.event || e.event;//兼容
    if(e.target.nodeName == 'BUTTON'){//判断是否点击删除按钮
        e.target.parentNode.classList.add('active')//删除这个按钮父元素的内容
    }
}
上一篇下一篇

猜你喜欢

热点阅读