数组小案例-----留言板

需求:
1、根据数组的内容,动态生成li节点,渲染数据
2、点击按钮可以获取内容生成节点
* 新节点从前面插入
* 数据只保留5条
CSS代码
<style>
        h1 {
            text-align: center;
        }

        .news-list {
            border: 2px solid #ddd;
            border-radius: 10px;
            width: 600px;
            margin: 0 auto;
            padding: 10px;
        }

        .news-list h4 {
            margin: 0 0 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #ddd;
        }

        .news-list ul {
            padding: 0;
            margin: 0;
            list-style: none;
            line-height: 2;
        }

        .form {
            margin: 100px auto 0;
            width: 600px;
            text-align: center;
            overflow: hidden;
        }

        .form input {
            float: left;
            width: 480px;
            height: 50px;
            box-sizing: border-box;
            padding: 10px;
        }

        .form button {
            float: left;
            width: 120px;
            height: 50px;
        }
    </style>
View Code

body代码

<body>
    <h1>显示5条最新消息</h1>
    <div class="news-list">
        <h4>最新消息</h4>
        <ul id="newsList">
            <!-- <li>sss</li> -->
        </ul>
    </div>

    <div class="form">
        <input type="text" id="news"><button id="btnAdd">添加</button>
    </div>
</body>

JS代码

<script>
    (function () {

        var list = document.getElementById('newsList');
        var btnAdd = document.getElementById('btnAdd');
        var news = document.getElementById('news');
        var newslist = ['小明由于调戏女老师再次被滚粗教室', 'iPhone10发布,屏幕高度亮瞎了所有小伙伴', '为了弘扬乐于助人的精神,中国人大开会决定授予老王“中国好邻居”称号'];

        //1、根据数组的内容,动态生成li节点,渲染数据
        function creat() {
            var html = newslist.map(function (item, index) {
                return `<li>${index + 1}.${item}</li>`;
            }).join('');//把拼接好的数组有拼接成字符串

            list.innerHTML = html;
        }
        creat();
        //2、点击按钮可以获取内容生成节点
        btnAdd.onclick = function () {
            var val = news.value;
            //非空验证
            if (val) {
                //非空再创建节点
                newslist.unshift(val);//插入到前面
                if (newslist.length > 5) {
                    newslist.pop();
                }
                creat();
                console.log(newslist);
            } else {
                alert('请你输入留言');
            }
        } 
    })();
</script>

显示效果

 

转载于:https://www.cnblogs.com/muyun123/p/11402685.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值