演示使用JavaScript实现列表动态渲染功能 | 青训营

530 阅读1分钟

在提供的HTML代码中,JavaScript被用来实现一个动态渲染的功能,即在页面加载时,根据预定义的数据(data数组中的对象)生成一组内容块,展示精品推荐的课程信息。这种用法通常被称为模板渲染。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>学车在线首页</title>
    <link rel="stylesheet" href="./css/style.css">
    <style>

    </style>
</head>

<body>

    <!-- 4. box核心内容区域开始 -->
    <div class="box w">
        <div class="box-hd">
            <h3>精品推荐</h3>
            <a href="#">查看全部</a>
        </div>
        <div class="box-bd">
            <ul class="clearfix">
                <!-- <li>
                    <a href="#">
                        <img src="images/course01.png" alt="">
                        <h4>
                            Think PHP 5.0 博客系统实战项目演练
                        </h4>
                        <div class="info">
                            <span>高级</span> • <span>1125</span>人在学习
                        </div>
                    </a>
                </li> -->
                <script>
                    let data = [
                        {
                            src: 'images/course01.png',
                            title: 'Think PHP 5.0 博客系统实战项目演练',
                            num: 1125
                        },
                        {
                            src: 'images/course02.png',
                            title: 'Android 网络动态图片加载实战',
                            num: 357
                        },
                        {
                            src: 'images/course03.png',
                            title: 'Angular2大前端商城实战项目演练',
                            num: 22250
                        },
                        {
                            src: 'images/course04.png',
                            title: 'AndroidAPP实战项目演练',
                            num: 389
                        },
                        {
                            src: 'images/course05.png',
                            title: 'UGUI源码深度分析案例',
                            num: 124
                        },
                        {
                            src: 'images/course06.png',
                            title: 'Kami2首页界面切换效果实战演练',
                            num: 432
                        },
                        {
                            src: 'images/course07.png',
                            title: 'UNITY 从入门到精通实战案例',
                            num: 888
                        },
                        {
                            src: 'images/course08.png',
                            title: 'Cocos 深度学习你不会错过的实战',
                            num: 590
                        },
                        {
                            src: 'images/course04.png',
                            title: '自动添加的模块',
                            num: 1000
                        }
                    ]
                    const ulElement = document.querySelector(".box-bd ul");

                for (let i = 0; i < data.length; i++) {
               const liElement = document.createElement("li");
                liElement.innerHTML = `
           <a href="#">
            <img src=${data[i].src} title="${data[i].title}">
            <h4>
                ${data[i].title}
            </h4>
            <div class="info">
                <span>高级</span> • <span>${data[i].num}</span>人在学习
            </div>
        </a>
    `;
    ulElement.appendChild(liElement);
}




                </script>
            </ul>
        </div>
    </div>

</body>

</html>

实现效果如下:

img_v2_0d824838-7c48-45d3-ab2d-cfe33814f8cg.jpg 这个过程在HTML中预留一个容器,然后使用 DOM 操作方法,如 createElementappendChild 来动态地创建和添加元素,会在页面加载时自动执行,将数据中的每个课程信息渲染到页面中。这种方式可以帮助避免手动创建大量重复的HTML代码,提高了代码的可维护性和扩展性。