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 协作来创建动态、交互式的网页。用户可以在输入框中输入待办事项,点击"添加"按钮将其添加到列表中,点击"删除"按钮可以删除某个待办事项,点击"完成"按钮可以标记待办事项为已完成。你可以在这个基础上进一步扩展功能,比如添加待办事项的持久化存储、日期提醒等。

相关推荐
Warren984 分钟前
软件测试-Selenium学习笔记
java·javascript·笔记·学习·selenium·测试工具·安全
萌萌哒草头将军19 分钟前
有了它 ,我彻底告别了 try-finally 🔥🔥🔥
前端·javascript·vue.js
老虎062734 分钟前
JavaWeb前端02(JavaScript)
开发语言·前端·javascript
Python私教1 小时前
YggJS RLogin暗黑霓虹主题登录注册页面 版本:v0.1.1
开发语言·javascript·ecmascript
南半球与北海道#1 小时前
el-table合并单元格
javascript·vue.js·elementui·表格合并
Jimmy2 小时前
客户端存储 - IndexedDB
前端·javascript·indexeddb
成小白2 小时前
前端实现两个页面之间的通讯
前端·javascript
啷咯哩咯啷2 小时前
element-plus el-tree-v2大数据量勾选节点卡顿问题
前端·javascript·vue.js
EndingCoder3 小时前
测试 Next.js 应用:工具与策略
开发语言·前端·javascript·log4j·测试·全栈·next.js
前端李二牛4 小时前
Vue3 特性标志
前端·javascript