首页 > 编程语言 >JavaScript网页设计案例

JavaScript网页设计案例

时间:2024-10-17 18:33:26浏览次数:6  
标签:网页 color JavaScript li 案例 添加 const

1.引言

在前端开发中,JavaScript 无疑是一个非常重要的语言。它不仅可以用于表单验证、动态内容更新,还能实现复杂的交互效果和动画。通过 JavaScript,网页变得更加生动和富有互动性。本文将通过一个具体的网页设计案例,详细讲解如何使用 JavaScript 进行网页开发,包括准备工作、基础理论知识、步骤详解、常见问题解答以及成果案例分享。

2.准备工作

在开始之前,你需要确保以下几点:

(1)开发环境:一个文本编辑器(如 VS Code)和一个浏览器(如 Chrome)。

(2)基础知识:熟悉 HTML、CSS 和 JavaScript 的基础知识。

(3)开发工具:可选的开发工具,如 Live Server(用于实时预览)。

3.基础理论知识

在动手之前,让我们先回顾一下相关的理论知识。

(1)HTML:用于定义网页的结构和内容。

(2)CSS:用于控制网页的样式和布局。

(3)JavaScript:用于实现网页的动态效果和交互功能。

在这个案例中,我们将实现一个简单的待办事项列表(To-Do List)。用户可以通过输入框添加任务,并且可以勾选已完成的任务。

4.步骤详解

4.1创建 HTML 结构

首先,我们需要创建一个基本的 HTML 文件,包含输入框、按钮和列表。

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>To-Do List</title>  
    <link rel="stylesheet" href="styles.css">  
</head>  
<body>  
    <div class="container">  
        <h1>To-Do List</h1>  
        <input type="text" id="taskInput" placeholder="Enter a new task">  
        <button id="addButton">Add</button>  
        <ul id="taskList"></ul>  
    </div>  
    <script src="script.js"></script>  
</body>  
</html>

4.2添加 CSS 样式

接下来,我们编写一些基本的 CSS 样式,使页面看起来更美观。

/* styles.css */  
body {  
    font-family: Arial, sans-serif;  
    background-color: #f4f4f4;  
    margin: 0;  
    padding: 0;  
    display: flex;  
    justify-content: center;  
    align-items: center;  
    height: 100vh;  
}  
  
.container {  
    background-color: #fff;  
    padding: 20px;  
    border-radius: 8px;  
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);  
    width: 300px;  
    text-align: center;  
}  
  
h1 {  
    margin-bottom: 20px;  
}  
  
input[type="text"] {  
    width: calc(100% - 22px);  
    padding: 10px;  
    margin-bottom: 10px;  
    border: 1px solid #ccc;  
    border-radius: 4px;  
}  
  
button {  
    padding: 10px 15px;  
    border: none;  
    border-radius: 4px;  
    background-color: #007bff;  
    color: #fff;  
    cursor: pointer;  
}  
  
button:hover {  
    background-color: #0056b3;  
}  
  
ul {  
    list-style-type: none;  
    padding: 0;  
}  
  
li {  
    background-color: #f9f9f9;  
    margin: 10px 0;  
    padding: 10px;  
    border-radius: 4px;  
    display: flex;  
    justify-content: space-between;  
    align-items: center;  
}  
  
li.completed {  
    background-color: #d4edda;  
    text-decoration: line-through;  
}  
  
li button {  
    background-color: transparent;  
    border: none;  
    color: #dc3545;  
    cursor: pointer;  
    font-size: 1.2em;  
}  
  
li button:hover {  
    color: #c82333;  
}

4.3编写 JavaScript 逻辑

最后,我们编写 JavaScript 代码,实现添加任务、删除任务和标记任务为已完成的功能。

// script.js  
document.addEventListener('DOMContentLoaded', () => {  
    const taskInput = document.getElementById('taskInput');  
    const addButton = document.getElementById('addButton');  
    const taskList = document.getElementById('taskList');  
  
    // 添加任务  
    addButton.addEventListener('click', () => {  
        const taskText = taskInput.value.trim();  
        if (taskText) {  
            const li = document.createElement('li');  
            li.textContent = taskText;  
  
            // 添加删除按钮  
            const deleteButton = document.createElement('button');  
            deleteButton.textContent = 'Delete';  
            deleteButton.addEventListener('click', () => {  
                taskList.removeChild(li);  
            });  
  
            // 添加完成按钮  
            const completeButton = document.createElement('button');  
            completeButton.textContent = 'Complete';  
            completeButton.style.marginLeft = '10px';  
            completeButton.addEventListener('click', () => {  
                li.classList.toggle('completed');  
            });  
  
            li.appendChild(deleteButton);  
            li.appendChild(completeButton);  
            taskList.appendChild(li);  
  
            // 清空输入框  
            taskInput.value = '';  
        }  
    });  
  
    // 按下回车键添加任务  
    taskInput.addEventListener('keypress', (event) => {  
        if (event.key === 'Enter') {  
            addButton.click();  
        }  
    });  
});

5.常见问题解答

(1)如何删除列表项?

在 JavaScript 中,你可以通过 removeChild 方法来删除列表项。首先,你需要获取到要删除的列表项元素,然后调用其父元素的 removeChild 方法。

(2)如何标记任务为已完成?

你可以通过切换列表项的 classList 来实现。当点击完成按钮时,使用 classList.toggle 方法来添加或移除 completed 类。

(3)如何实现按下回车键添加任务?

你可以监听输入框的 keypress 事件,当按下回车键时,触发添加按钮的点击事件。

6.成果案例分享

完成以上步骤后,你应该会得到一个功能齐全的待办事项列表。用户可以输入任务,点击添加按钮将任务添加到列表中,点击删除按钮删除任务,点击完成按钮标记任务为已完成。

7.案例代码示例

以下是完整的代码示例,包括 HTML、CSS 和 JavaScript。

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>To-Do List</title>  
    <style>  
        /* styles.css 内容粘贴在这里 */  
    </style>  
</head>  
<body>  
    <div class="container">  
        <h1>To-Do List</h1>  
        <input type="text" id="taskInput" placeholder="Enter a new task">  
        <button id="addButton">Add</button>  
        <ul id="taskList"></ul>  
    </div>  
    <script>  
        // script.js 内容粘贴在这里  
    </script>  
</body>  
</html>

8.结论

通过本文,我们详细介绍了如何使用 JavaScript 实现一个简单的待办事项列表。从准备工作、基础理论知识到步骤详解,再到常见问题解答和成果案例分享,相信你已经掌握了如何使用 JavaScript 进行网页开发的基本方法。这个案例不仅展示了 JavaScript 的强大功能,还为你提供了一个实际应用的参考。希望这篇文章对你有所帮助,祝你在前端开发之路上越走越远!

标签:网页,color,JavaScript,li,案例,添加,const
From: https://www.cnblogs.com/TS86/p/18472864

相关文章

  • 实验三: JavaScript数组与函数
    实验目的熟练掌握常用JavsScript的数组、自定义函数、作用域。实验内容数组定义及元素获取;数组的遍历;数组内容的增删改查;数组的排序;数组的反转、截取、合并、元素拼接函数的声明;函数的调用;匿名函数;作用域。实验步骤:数组定义及元素获取;数组的遍历;数组内容的增删改查......
  • docker以及nvidia-docker的安装、移植以及使用案例
    详细描述docker、nvidia-docker的安装步骤,通过案例描述docker的基本使用命令,包含docker创建、移植、加载等。文档真实案例编写,亲测可用,傻瓜式教程,直接复制即可成功安装。默认已经安装显卡驱动。一、docker的安装#由于apt官方库里的docker版本可能比较旧,所以先卸载可能......
  • 白鲸开源 WhaleStudio 入选「OSCAR 开源尖峰商业化」案例
    2024年10月16日,由中国通信标准化协会主办、中国信息通信研究院承办的“2024OSCAR开源产业大会”在北京成功举办。工业和信息化部信息技术发展司软件产业处处长李琰、中国信息通信研究院党委副书记王晓丽、中国通信标准化协会副理事长兼秘书长代晓慧出席并发表致辞。人民日报出版......
  • Spring AI 调用 openAI大模型案例
    SpringAI学习目标:通过SpringAI对接各种主流大模型,包括聊天问答,语音,图像等操作开发环境和版本要求:jdk版本:17.x及以上。SpringBoot版本要求3.x。学习前提条件:有java基础,并且能熟练使用SpringBoot。熟悉OpenAI,有OpenAI的APIkey(淘宝自己买),也可以使用国内中转(直连)的账......
  • vue入门案例-基本使用----非常适合初学者。言简意赅,没有废话。附带springboot+vue前后
    Listitemvue1.vue介绍渐进式JavaScript框架,易学易用,性能出色,适用场景丰富的Web前端框架地址:https://cn.vuejs.org/什么是vue?Vue(发音为/vjuː/,类似view)是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明......
  • DTL698电表数据 转 profinet IO协议项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 配置VFBOX网关 25 用PROFINETIO协议转发数据 46 其他说明 67 案例总结 71 案例说明设置网关采集DLT698电表数据数据把采集的数据转成profinetIO协议转发给其他系统。2 VFBOX网关工作原理VFBOX网关是协议转换......
  • R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析
     随机森林作为一种集成学习方法,在处理复杂数据分析任务中特别是遥感数据分析中表现出色。通过构建大量的决策树并引入随机性,随机森林在降低模型方差和过拟合风险方面具有显著优势。在训练过程中,使用Bootstrap抽样生成不同的训练集,并在节点分裂时随机选择特征子集,这使得模型具......
  • 汽车免拆诊断案例 | 2023款零跑C01纯电车后备厢盖无法电动打开和关闭
    故障现象一辆2023款零跑C01纯电车,累计行驶里程约为2万km,车主进厂反映,后备厢盖无法电动打开和关闭。故障诊断接车后试车,操作后备厢盖外侧、驾驶人侧及遥控钥匙上的后备厢盖开启按钮,可以听到后备厢盖解锁的“咔哒”声,但后备厢盖均无法电动打开。手动打开后备厢盖,点按后备......
  • 【机器学习(十三)】零代码开发案例之股票价格预测分析—Sentosa_DSML社区版
    文章目录一、背景描述二、Sentosa_DSML社区版算法实现(一)数据读入(二)特征工程(三)样本分区(四)模型训练和评估(五)模型可视化三、总结一、背景描述  股票价格是一种不稳定的时间序列,受多种因素的影响。影响股市的外部因素很多,主要有经济因素、政治因素和......
  • 动态规划案例 - 计算最长公共子串问题
    动态规划-计算最长公共子串问题题目描述:给定两个字符串s,t,求字符串t在字符串s中的最长公共长度,例如字符串s为"itheima",t为"thema",则公共字串有"the","ma",最长公共子串为"the"。这种类似的问题有多种解法,今天已动态规划来解决该问题。问题分析:首先我们将两......