【Html.js——生成欢迎语】关于你的欢迎语(蓝桥杯真题-1764)【合集】

简介: 本项目旨在实现一个营销号生成器,根据用户输入生成个性化的欢迎语。主要内容包括:- **介绍**:通过修改代码实现根据模板生成特定用户的欢迎语。- **准备**:内置初始代码,目录结构包含 HTML、CSS 和 JavaScript 文件。启动 Web Server 服务运行项目。- **目标**:修复 `index.js` 中的 bug,确保输入框内容正确显示。- **规定**:不得修改默认文件名称和路径,保持 Web 服务正常访问后提交检测。- **通关代码**:提供修复后的 `index.js` 代码。- **代码解析**: - **HTML 部分**:定义页面结构,包含

目录😋

介绍

准备

目标

规定

通关代码✔️

代码解析📑

1. HTML 部分

2. CSS部分

3. JavaScript 部分

4. 工作流程 ▶️

测试结果👍


介绍

营销号,有时候需要一些特定的欢迎语,但针对特定的用户,我们希望可以个性化一点。本题需要在项目文件中修改代码存在的问题,实现根据模版生成特定用户的欢迎语。


准备

本题已经内置了初始代码,打开实验环境,目录结构如下:

├── css
│   ├── bootstrap.min.css
│   └── style.css
├── js
│   ├── bootstrap.bundle.min.js
│   └── index.js
└── index.html
image.gif

其中:

  • css/style.css 是页面样式文件。
  • css/bootstrap.min.cssjs/bootstrap.bundle.min.js 是 Bootstrap 相关文件。
  • js/index.js 是页面功能实现的逻辑代码。
  • index.html 是页面布局。

选中 index.html 右键启动 Web Server 服务(Open with Live Server),让项目运行起来。打开环境右侧的【Web 服务】,就可以在浏览器中看到如下错误显示,当前显示没有正确获取到输入的用户、课程、平台的输入框内容。

image.gif


目标

请修复 index.js 文件中存在的 bug,修复完成后,在表单的对应输入框中输入以下内容:

image.gif 编辑

页面效果如下所示:

image.gif 编辑

规定

  • 请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径等。
  • 满足题目需求后,保持 Web 服务处于可以正常访问状态,点击「提交检测」系统会自动判分。

通关代码✔️

//index.js
function generate() {
    subject = document.getElementById("subject").value;
    event1 = document.getElementById("event1").value;
    event2 = document.getElementById("event2").value;
    if (subject ==="" || event1 ==="" || event2 ===""){
        return;
    }
    let result = `欢迎用户${subject}在${event2}学习${event1}课程!`;
    document.getElementById("result").value = result;
}

image.gif


代码解析📑

1. HTML 部分

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="./css/style.css" />
    <script src="./js/index.js"></script>
    <link rel="stylesheet" href="./css/bootstrap.min.css" />
    <script src="./js/bootstrap.bundle.min.js"></script>
  </head>
  <body onload="onload()">
    <div class="container">
      <h1>营销号生成器</h1>
      <div class="row">
        <div class="col-5">
          <form action="javascript:void(0);" autocomplete="off">
            <div class="form-group">
              <lable for="subject">用户:</lable>
              <input
                type="text"
                id="subject"
                class="form-control"
                placeholder="小蓝"
                required
              />
            </div>
            <div class="form-group">
              <lable for="event1">课程:</lable>
              <input
                type="text"
                id="event1"
                class="form-control"
                placeholder="Python"
                required
              />
            </div>
            <div class="form-group">
              <lable for="event2">平台:</lable>
              <input
                type="text"
                id="event2"
                class="form-control"
                placeholder="蓝桥云课"
                required
              />
            </div>
            <div class="form-group">
              <input
                type="submit"
                value="生成"
                class="btn btn-primary"
                onclick="generate()"
              />
            </div>
          </form>
        </div>
        <div class="col-7" style="margin-top: 35px">
          <textarea
            id="result"
            rows="8"
            placeholder="欢迎用户小蓝在蓝桥云课学习Python课程!"
          ></textarea>
        </div>
      </div>
    </div>
  </body>
</html>
image.gif

解释

  • <!DOCTYPE html> 声明该文档是一个 HTML5 文档。
  • <html lang="en"> 表示该 HTML 文档使用的语言是英语。
  • <head> 部分包含了文档的元数据和资源引用:
  • <meta charset="UTF-8"> 设定字符编码为 UTF-8,确保页面能正确显示各种字符。
  • <meta name="viewport" content="width=device-width, initial-scale=1.0"> 使页面在不同设备上具有良好的响应式布局,初始缩放比例为 1。
  • <title>Document</title> 定义页面的标题。
  • <link rel="stylesheet" href="./css/style.css"> 引入自定义的 CSS 文件,用于自定义页面样式。
  • <script src="./js/index.js"></script> 引入自定义的 JavaScript 文件,用于实现页面逻辑。
  • <link rel="stylesheet" href="./css/bootstrap.min.css"> 引入 Bootstrap 的 CSS 文件,方便使用 Bootstrap 的样式类。
  • <script src="./js/bootstrap.bundle.min.js"></script> 引入 Bootstrap 的 JavaScript 捆绑文件,包含了 Bootstrap 的各种组件和交互功能。
  • <body onload="onload()">:在页面加载完成时调用 onload 函数(不过在提供的代码中未看到 onload 函数的具体实现)。
  • <div class="container"> 是一个 Bootstrap 提供的容器类,用于将内容包裹在一个固定宽度的容器中。
  • <h1>营销号生成器</h1> 显示页面的主标题。
  • <div class="row"> 是 Bootstrap 的行类,用于创建行。
  • <div class="col-5"><div class="col-7"> 是 Bootstrap 的列类,将页面分为两列,宽度分别为 5/12 和 7/12。
  • <form action="javascript:void(0);" autocomplete="off">
  • action="javascript:void(0);" 防止表单提交时刷新页面,因为使用 JavaScript 函数来处理表单提交。
  • autocomplete="off" 关闭输入框的自动完成功能。
  • <div class="form-group"> 是 Bootstrap 的表单组类,用于将表单元素分组。
  • <lable for="subject">用户:</lable> 为输入框提供一个标签,for 属性与输入框的 id 关联。
  • <input type="text" id="subject" class="form-control" placeholder="小蓝" required />
  • type="text" 表示输入框为文本输入框。
  • id="subject" 为输入框设置唯一标识符,方便 JavaScript 操作。
  • class="form-control" 使用 Bootstrap 的表单控件样式。
  • placeholder="小蓝" 显示输入框的占位符。
  • required 使该输入框为必填项。
  • 其他输入框类似,用于输入课程和平台信息。
  • <input type="submit" value="生成" class="btn btn-primary" onclick="generate()" />
  • type="submit" 表示这是一个提交按钮。
  • class="btn btn-primary" 使用 Bootstrap 的按钮样式,使其具有主要按钮的外观。
  • onclick="generate()" 点击按钮时调用 generate 函数。
  • <textarea id="result" rows="8" placeholder="欢迎用户小蓝在蓝桥云课学习 Python 课程!"></textarea>
  • id="result" 为文本区域设置唯一标识符,用于显示生成的欢迎语。
  • rows="8" 设置文本区域的行数。
  • placeholder 显示初始占位符。

2. CSS部分

textarea {
    resize: none;
    overflow: hidden;
    width: 100%;
    min-height: 50px;
}
#footer {
    text-align: center;
}
.form-group {
    margin-top: 10px;
}
image.gif

解释

  • textarea 选择器:
  • resize: none; 禁止用户调整文本区域的大小。
  • overflow: hidden; 隐藏文本区域的溢出内容。
  • width: 100%; 使文本区域的宽度占满父元素。
  • min-height: 50px; 设置文本区域的最小高度。
  • #footer 选择器:
  • text-align: center; 将元素内的文本居中对齐(虽然在 HTML 中未看到元素使用 id="footer")。
  • .form-group 选择器:
  • margin-top: 10px; 为表单组元素设置顶部外边距,使其在垂直方向上有一定的间隔。

3. JavaScript 部分

function generate() {
    subject = document.getElementById("subject").value;
    event1 = document.getElementById("event1").value;
    event2 = document.getElementById("event2").value;
    if (subject ==="" || event1 ==="" || event2 ===""){
        return;
    }
    let result = `欢迎用户${subject}在${event2}学习${event1}课程!`;
    document.getElementById("result").value = result;
}
image.gif

解释

  • function generate() {...} 定义了一个名为 generate 的函数,用于生成欢迎语。
  • subject = document.getElementById("subject").value; 等:
  • 通过 document.getElementById("subject").value 获取 idsubject 的输入框的值,存储在 subject 变量中。
  • 同样地,获取 event1event2 输入框的值。
  • if (subject ==="" || event1 ==="" || event2 ===""){...}
  • 此条件检查输入框是否为空,如果任何一个输入框为空,则函数将直接返回,不执行后续操作。
  • let result =`欢迎用户在{event2} 学习 ${event1} 课程!`;:
  • 使用模板字符串生成欢迎语,将变量 subjectevent1event2 的值插入到字符串中。
  • document.getElementById("result").value = result;
  • 将生成的欢迎语设置为 idresult 的文本区域的 value,使其显示在页面上。

4. 工作流程 ▶️

  1. 页面加载
  • 页面加载时,会引入所需的 CSS 和 JavaScript 文件,包括 Bootstrap 的资源和自定义资源。
  • 显示页面的布局,包括输入框和文本区域。
  1. 用户输入
  • 用户在输入框中输入用户名称、课程名称和平台名称。
  1. 生成欢迎语
  • 点击 "生成" 按钮时,调用 generate 函数。
  • generate 函数中,首先获取三个输入框的值。
  • 检查输入框是否都不为空,如果有空值,函数将不执行后续操作。
  • 若输入完整,使用模板字符串根据输入的内容生成欢迎语。
  • 将生成的欢迎语存储在 result 变量中,并将其设置到 idresult 的文本区域,使其显示在页面上。

综上所述,HTML 部分提供了页面的结构和布局,CSS 部分负责页面的样式,JavaScript 部分实现了根据用户输入生成欢迎语的功能,三者协同工作,为用户提供了一个简单的营销号欢迎语生成器。


测试结果👍

image.gif

image.gif

目录
相关文章
|
13天前
|
移动开发 JavaScript 前端开发
【Html.js——图片折叠效果】折叠手风琴(蓝桥杯真题-1763)【合集】
本项目实现了一个图片折叠手风琴效果,使用jQuery完成。主要包括以下部分: - **介绍**:任务是通过点击图片实现折叠和展开的效果。 - **准备**:内置初始代码,包含 `css/style.css`、`images/` 文件夹、`js/` 文件夹及 `index.html` 等文件。启动 Web Server 服务可运行项目。 - **目标**:完善 `index.js` 文件,使页面达到预期的折叠效果。 - **规定**:严格按步骤操作,保持默认文件结构不变,并在完成后保持 Web 服务正常访问状态。 - **通关代码**:使用 jQuery 实现点击事件,为选中元素添加 `act
35 19
|
13天前
|
存储 JavaScript 前端开发
【Vue.js——关键字匹配】搜一搜呀(蓝桥杯真题-1762)【合集】
本文介绍了一个使用 Vue 2 实现关键字匹配搜索功能的项目。主要内容包括: - **准备**:项目已内置初始代码,目录结构包含 `css/style.css`、`images` 文件夹、`index.html` 和 `vue.min.js`。 - **目标**:完善 `index.html` 文件,使页面能够根据用户输入的关键字显示匹配的帖子列表。 - **规定**:需严格按照步骤操作,保持 Web 服务正常运行,并点击「提交检测」进行自动判分。 - **实现方式**: - 使用 Vue 的 `v-model` 指令绑定输入框和数据属性 `search`。 - 定义 `Post`
35 14
|
13天前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
11天前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
10天前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
59 34
|
14天前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
63 33
|
12天前
|
前端开发
“弘五四,耀青春”程序创意获奖作品【html+css】
本作品以“青春筑梦,共创未来”为主题,采用动态龙元素展现青春活力与创新精神。页面设计简洁明快,色彩协调,突显年轻人积极向上的风貌。作品内容包括获奖截图、名字《时代扬新帆》及源代码分享。特别说明:禁止用于商业活动,可用于比赛和作业等开源场景。最后,作者表达了对五四精神的致敬与传承,强调了青春活力和创造力的重要性,并感谢评委和支持者。 **获奖感言摘录:** “获得这个奖项,对我们团队来说,既是认可也是激励。我们将继续努力,不断优化产品,为用户带来更好的体验,为社会贡献更多价值。”
27 2
|
2月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
111 24
|
3月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
101 7