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

相关推荐
Ciito14 分钟前
vue项目使用eslint+prettier管理项目格式化
前端·javascript·vue.js
fighting ~1 小时前
react17安装html-react-parser运行报错记录
javascript·react.js·html
老码沉思录1 小时前
React Native 全栈开发实战班 - 列表与滚动视图
javascript·react native·react.js
abments1 小时前
JavaScript逆向爬虫教程-------基础篇之常用的编码与加密介绍(python和js实现)
javascript·爬虫·python
老码沉思录1 小时前
React Native 全栈开发实战班 - 状态管理入门(Context API)
javascript·react native·react.js
文军的烹饪实验室2 小时前
ValueError: Circular reference detected
开发语言·前端·javascript
老码沉思录4 小时前
写给初学者的React Native 全栈开发实战班
javascript·react native·react.js
我不当帕鲁谁当帕鲁4 小时前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段
前端·javascript·arcgis
那一抹阳光多灿烂4 小时前
工程化实战内功修炼测试题
前端·javascript
红中马喽7 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习