JavaScript入门第十一章(练习--动态生成柱状图)

简介: JavaScript入门第十一章(练习--动态生成柱状图)

需求:


  • 允许用户输入要生成的柱状图数量


  • 随机生成柱状图的每个柱子的高度


代码部分


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 1200px;
            height: 200px;
            border: 1px solid #1a1;
            margin: 100px auto;
            display: flex;
            justify-content: space-evenly;
            align-items: flex-end;
        }
    </style>
</head>
<body>
    </div>
    <script>
        // 动态生成柱状图
        /*
            思路分析
            1. 创建大盒子的一部分:<div class="box">
            2. 获取柱子的数量:用户输入
            3. 求出柱子的宽度:let width = 1200 / (2 * 柱子数量 + 1)
            4. 生成小的div(柱子):for循环
            4.1 高度随机:Math.ceil(Math.random() * 200)
            4.2 颜色随机:rgb(三个随机)
            4.3 生成div:样式写入,行内:style,模板字符串将随机数据放到对应的位置
            5. 关闭大盒子:</div>
        */
        // 思路分析
        //     1. 创建大盒子的一部分:<div class="box">
        document.write(`<div class="box">`)
        //     2. 获取柱子的数量:用户输入
        let num = +prompt('请输入柱子数量');
        //     3. 求出柱子的宽度:let width = 1200 / (2 * 柱子数量 + 1)
        let width = 1200 / (2 * num + 1);
        //     4. 生成小的div(柱子):for循环
        for (let i = 1; i <= num; i++) {
            //     4.1 高度随机:Math.ceil(Math.random() * 200)
            //     4.2 颜色随机:rgb(三个随机)
            //     4.3 生成div:样式写入,行内:style,模板字符串将随机数据放到对应的位置
            let height = Math.ceil(Math.random() * 200);
            let r = Math.ceil(Math.random() * 255);
            let g = Math.ceil(Math.random() * 255);
            let b = Math.ceil(Math.random() * 255);
            document.write(` <div style= "width:${width}px;height:${height}px;background-color:rgb(${r},${g},${b})"> </div> `)
        }
        //     5. 关闭大盒子:</div>
        document.write(`</div>`)
    </script>
</body>
</html>


输入想要的数量

20210804212041449.png


效果图

20210804212134566.png


相关文章
|
2月前
|
JavaScript 前端开发 C语言
javascript基础入门
javascript基础入门
24 1
|
4月前
|
JSON JavaScript 前端开发
Danfo.js专题 - Danfo.js与Dnotebook简介与入门
Danfo.js专题 - Danfo.js与Dnotebook简介与入门
47 0
|
4月前
|
存储 JavaScript 前端开发
JS项目练习
JS项目练习
|
4月前
|
JSON JavaScript 前端开发
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)(下)
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)
51 2
|
3月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
28 0
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0
|
1天前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
|
6天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
18 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
6天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
18 0
|
20天前
|
存储 前端开发 JavaScript
使用JavaScript实现动态生成并管理购物车的深入解析
使用JavaScript实现动态生成并管理购物车的深入解析