JavaScript网页设计案例

以下是一个使用 JavaScript 进行网页设计的简单案例:

一、案例介绍

这个案例是一个简单的待办事项列表应用。用户可以在输入框中输入待办事项,点击"添加"按钮将其添加到列表中。每个待办事项旁边有一个"完成"按钮和一个"删除"按钮,用户可以点击"完成"按钮将待办事项标记为已完成,点击"删除"按钮将其从列表中删除。

二、HTML 结构

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>待办事项列表</title>
    <link rel="stylesheet" href="styles.css">
</head>

<body>
    <h1>待办事项列表</h1>
    <input type="text" id="todoInput" placeholder="输入待办事项">
    <button id="addButton">添加</button>
    <ul id="todoList"></ul>
    <script src="script.js"></script>
</body>

</html>

三、CSS 样式(styles.css)

css 复制代码
body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
}

h1 {
    text-align: center;
}

input[type="text"] {
    padding: 10px;
    width: 300px;
    font-size: 16px;
}

button {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #4CAF50;
    color: white;
    border: none;
    cursor: pointer;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    background-color: #fff;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

button.completeButton {
    background-color: #2196F3;
}

button.deleteButton {
    background-color: #f44336;
}

四、JavaScript 功能实现(script.js)

javascript 复制代码
// 获取 DOM 元素
const todoInput = document.getElementById('todoInput');
const addButton = document.getElementById('addButton');
const todoList = document.getElementById('todoList');

// 添加待办事项
addButton.addEventListener('click', () => {
    const todoText = todoInput.value.trim();
    if (todoText!== '') {
        const li = document.createElement('li');
        li.textContent = todoText;
        const completeButton = document.createElement('button');
        completeButton.textContent = '完成';
        completeButton.classList.add('completeButton');
        completeButton.addEventListener('click', () => {
            li.classList.toggle('completed');
        });
        const deleteButton = document.createElement('button');
        deleteButton.textContent = '删除';
        deleteButton.classList.add('deleteButton');
        deleteButton.addEventListener('click', () => {
            todoList.removeChild(li);
        });
        li.appendChild(completeButton);
        li.appendChild(deleteButton);
        todoList.appendChild(li);
        todoInput.value = '';
    }
});

在这个案例中,我们使用了 HTML、CSS 和 JavaScript 来创建一个简单的待办事项列表应用。通过 JavaScript,我们实现了添加待办事项、标记为完成和删除待办事项的功能。你可以根据自己的需求进一步扩展和改进这个应用,例如添加本地存储功能,以便在页面刷新后仍然保留待办事项列表。

相关推荐
早點睡39010 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-localize
javascript·react native·react.js
棋鬼王11 小时前
Cesium(十) 动态修改白模颜色、白模渐变色、白模光圈特效、白模动态扫描光效、白模着色器
前端·javascript·vue.js·智慧城市·数字孪生·cesium
酉鬼女又兒11 小时前
零基础快速入门前端蓝桥杯Web备考:BOM与定时器核心知识点详解(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯
ThridTianFuStreet小貂蝉11 小时前
面试题1:请系统讲讲 Vue2 与 Vue3 的核心差异(响应式、API 设计、性能与编译器)。
前端·javascript·vue.js
竹林81811 小时前
在NFT项目中集成IPFS:从Pinata上传到前端展示的完整实战与踩坑
前端·javascript
我命由我1234511 小时前
Vite - Vite 最小项目
服务器·前端·javascript·react.js·ecmascript·html5·js
布局呆星11 小时前
Vue3 | 事件绑定与双向数据绑定
前端·javascript·vue.js
Hilaku11 小时前
前端资质越高,越来越不敢随便升级框架?
前端·javascript·架构
daols8811 小时前
vue甘特图vxe-gantt定位到对应的行于列,定位到对应的任务视图任务条
javascript·vue.js·甘特图
终端鹿11 小时前
手写 Vue3 自定义指令:防抖、点击外部、权限控制
前端·javascript·vue.js