JavaScript网页设计案例

JavaScript 在网页设计中扮演着至关重要的角色,它能够实现动态效果、用户交互、数据验证等多种功能。下面,我将提供一个简单的 JavaScript 网页设计案例,该案例将创建一个基本的待办事项列表(Todo List),用户可以添加、删除和标记待办事项为已完成。

HTML 结构

首先,我们需要创建一个 HTML 页面来作为用户界面。

html 复制代码
<!DOCTYPE html>  
<html lang="en">  
<head>  
<meta charset="UTF-8">  
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<title>Todo List</title>  
<link rel="stylesheet" href="style.css">  
</head>  
<body>  
<h1>待办事项列表</h1>  
<input type="text" id="todoInput" placeholder="添加新的待办事项...">  
<button onclick="addTodo()">添加</button>  
<ul id="todoList">  
    <!-- 待办事项将在这里动态添加 -->  
</ul>  
  
<script src="script.js"></script>  
</body>  
</html>

CSS 样式

接着,我们添加一些基本的 CSS 来美化界面。

css 复制代码
/* style.css */  
body {  
    font-family: Arial, sans-serif;  
    margin: 40px;  
    line-height: 1.6;  
}  
  
#todoList {  
    list-style-type: none;  
    padding: 0;  
}  
  
#todoList li {  
    margin-bottom: 10px;  
    padding: 10px;  
    background-color: #f4f4f4;  
    border: 1px solid #ddd;  
    display: flex;  
    justify-content: space-between;  
    align-items: center;  
}  
  
#todoList li.completed {  
    text-decoration: line-through;  
    background-color: #d4edda;  
}  
  
.delete-btn {  
    cursor: pointer;  
    color: red;  
}

JavaScript 功能

最后,我们使用 JavaScript 来添加动态功能

javascript 复制代码
// script.js  
function addTodo() {  
    const input = document.getElementById('todoInput');  
    const list = document.getElementById('todoList');  
    const itemText = input.value.trim();  
  
    if (itemText) {  
        const itemElement = document.createElement('li');  
        itemElement.textContent = itemText;  
  
        const deleteBtn = document.createElement('button');  
        deleteBtn.textContent = '删除';  
        deleteBtn.className = 'delete-btn';  
        deleteBtn.onclick = function() {  
            this.parentElement.remove();  
        };  
  
        const toggleBtn = document.createElement('button');  
        toggleBtn.textContent = '完成';  
        toggleBtn.onclick = function() {  
            const item = this.parentElement;  
            item.classList.toggle('completed');  
            this.textContent = item.classList.contains('completed') ? '未完成' : '完成';  
        };  
  
        itemElement.appendChild(toggleBtn);  
        itemElement.appendChild(document.createTextNode(' ')); // 添加一些间隔  
        itemElement.appendChild(deleteBtn);  
  
        list.appendChild(itemElement);  
  
        input.value = ''; // 清空输入框  
    }  
}

总结

这个简单的待办事项列表案例展示了 JavaScript 如何与 HTML 和 CSS 协作来创建动态、交互式的网页。用户可以在输入框中输入待办事项,点击"添加"按钮将其添加到列表中,点击"删除"按钮可以删除某个待办事项,点击"完成"按钮可以标记待办事项为已完成。你可以在这个基础上进一步扩展功能,比如添加待办事项的持久化存储、日期提醒等。

相关推荐
苏打水com6 分钟前
HTML/CSS 核心考点详解(字节跳动 ToB 中台场景)
java·前端·javascript
jingling5556 分钟前
react | 从零开始:使用 Create React App 创建你的第一个 React 项目
前端·javascript·react.js
hmywillstronger12 分钟前
【React 】ASD Structure Drawing Layer Coding System (2007)
javascript·react.js·ecmascript
CodeCraft Studio40 分钟前
纯前端文档编辑组件——Spire.WordJS全新发布
前端·javascript·word·office·spire.wordjs·web文档编辑·在线文档编辑器
国服第二切图仔1 小时前
Electron for鸿蒙pc项目实战之下拉菜单组件
javascript·electron·harmonyos·鸿蒙pc
国服第二切图仔1 小时前
electron for 鸿蒙PC项目实战之loading-animation组件
javascript·electron·鸿蒙pc
软件技术NINI1 小时前
html css js网页制作成品——敖瑞鹏html+css+js 4页附源码
javascript·css·html
程序员小寒1 小时前
Vue.js 为什么要推出 Vapor Mode?
前端·javascript·vue.js
白菜__1 小时前
去哪儿小程序逆向分析(酒店)
前端·javascript·爬虫·网络协议·小程序·node.js
困惑阿三2 小时前
深入理解 JavaScript 中的(Promise.race)
开发语言·前端·javascript·ecmascript·reactjs