Java Script网页设计案例

news/2024/9/19 19:27:24/文章来源:https://www.cnblogs.com/TS86/p/18387646

1. JavaScript网页设计案例

下面我将提供一个简单的JavaScript网页设计案例,该案例将实现一个动态的待办事项列表(Todo List)。用户可以在页面上添加新的待办事项,标记它们为已完成,以及删除它们。这个案例将使用HTML来构建页面结构,CSS来美化页面,以及JavaScript来添加动态功能。

1.1 HTML (index.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>Todo List</h1>  <input type="text" id="todoInput" placeholder="Add new todo...">  <button onclick="addTodo()">Add Todo</button>  <ul id="todoList">  <!-- Todo items will be added here -->  </ul>  <script src="script.js"></script>  
</body>  
</html>

1.2 CSS (style.css)

body {  font-family: Arial, sans-serif;  margin: 20px;  padding: 0;  
}  #todoList {  list-style-type: none;  padding: 0;  
}  #todoList li {  margin: 10px 0;  padding: 10px;  background-color: #f4f4f4;  border: 1px solid #ddd;  display: flex;  align-items: center;  justify-content: space-between;  
}  #todoList li.completed {  text-decoration: line-through;  opacity: 0.5;  
}  #todoInput {  padding: 10px;  margin-right: 10px;  width: calc(100% - 120px);  
}  button {  padding: 10px 20px;  cursor: pointer;  
}

1.3 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;  // Checkbox for marking todo as completed  const checkbox = document.createElement('input');  checkbox.type = 'checkbox';  checkbox.onclick = function() {  itemElement.classList.toggle('completed', this.checked);  };  // Button for deleting todo  const deleteButton = document.createElement('button');  deleteButton.textContent = 'Delete';  deleteButton.onclick = function() {  list.removeChild(itemElement);  };  // Append elements to the list item  itemElement.appendChild(checkbox);  itemElement.appendChild(document.createTextNode('\u00A0')); // Add space  itemElement.appendChild(deleteButton);  // Append list item to the list  list.appendChild(itemElement);  // Clear input field  input.value = '';  }  
}  // Optionally, add event listener to input field for Enter key press  
document.getElementById('todoInput').addEventListener('keypress', function(event) {  if (event.key === 'Enter') {  addTodo();  }  
});

1.4说明

(1)HTML 部分定义了页面的基本结构,包括一个输入框用于输入待办事项,一个按钮用于添加待办事项,以及一个无序列表用于显示待办事项。

(2)CSS 部分美化了页面,包括待办事项列表的样式、输入框和按钮的样式。

(3)JavaScript 部分实现了动态功能:

  • 监听“添加待办事项”按钮的点击事件,并调用 addTodo 函数。
  • addTodo 函数从输入框中获取文本,创建一个新的列表项,并为其添加复选框和删除按钮。
  • 复选框用于标记待办事项为已完成,点击时切换列表项的样式。
  • 删除按钮用于从列表中删除待办事项。
  • 监听输入框的 keypress 事件,以便在按下 Enter 键时也能添加待办事项。

这个案例展示了如何使用HTML、CSS和JavaScript来创建一个具有基本动态功能的网页应用。

2. JavaScript网页设计案例不同的功能和设计思路展示

除了上述的待办事项列表案例外,还有许多其他类似的JavaScript网页设计案例,这些案例展示了不同的功能和设计思路。以下是一些常见的案例及其简要描述:

(1)功能描述

  • 展示一组图片,并支持点击放大查看。
  • 使用HTML和CSS创建图片网格布局。
  • 使用JavaScript处理图片点击事件,显示放大的图片。

(2)代码示例(简化版):

<!DOCTYPE html>  
<html lang="en">  
<head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Image Gallery</title>  <style>  .gallery img {  width: 100px; /* 或其他尺寸 */  height: auto;  margin: 10px;  cursor: pointer;  }  .modal {  display: none;  position: fixed;  z-index: 1;  /* 其他模态框样式 */  }  .modal-content {  /* 放大图片的样式 */  }  </style>  
</head>  
<body>  <div class="gallery">  <img src="image1.jpg" alt="Image 1">  <img src="image2.jpg" alt="Image 2">  <!-- 更多图片 -->  
</div>  <div id="modal" class="modal">  <span class="close">&times;</span>  <img class="modal-content" id="modalImg">  
</div>  <script>  // JavaScript 代码,用于处理点击事件和显示模态框  // ...(省略详细实现)  
</script>  </body>  
</html>

2.2 简易天气应用(Weather App)

(1)功能描述

  • 获取并显示天气信息。
  • 使用天气API(如OpenWeatherMap)获取实时天气数据。
  • 使用JavaScript动态更新页面内容。

(2)代码示例(简化版,需要替换API密钥):

<!DOCTYPE html>  
<html lang="en">  
<head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Weather App</title>  
</head>  
<body>  <h1>Weather App</h1>  
<input type="text" id="cityInput" placeholder="Enter city">  
<button id="getWeather">Get Weather</button>  
<div id="weatherResult"></div>  <script>  const apiKey = 'YOUR_API_KEY'; // 替换为你的API密钥  document.getElementById('getWeather').onclick = function() {  const city = document.getElementById('cityInput').value;  fetch(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&units=metric`)  .then(response => response.json())  .then(data => {  const temp = data.main.temp;  const weatherDescription = data.weather[0].description;  document.getElementById('weatherResult').innerHTML = `Temperature: ${temp}°C<br>Description: ${weatherDescription}`;  })  .catch(error => {  document.getElementById('weatherResult').innerHTML = 'City not found.';  });  };  
</script>  </body>  
</html>

2.3 动态表格(Dynamic Table)

(1)功能描述

  • 展示一个表格,表格内容可以动态添加、删除或修改。
  • 使用HTML创建表格结构。
  • 使用JavaScript处理数据的增删改操作,并动态更新表格内容。

(2)代码示例(由于篇幅限制,仅提供概念性描述):

  • 创建一个HTML表格,包含表头和若干行。
  • 使用JavaScript添加按钮或输入框,以便用户输入新数据。
  • 编写JavaScript函数来处理添加、删除和修改数据的逻辑。
  • 使用DOM操作动态更新表格内容。

这些案例涵盖了网页设计的不同方面,从基本的图片展示到实用的天气查询,再到动态的数据处理。它们都是学习JavaScript网页开发的良好起点,并可以根据实际需求进行扩展和定制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/789365.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ggml 简介

ggml 是一个用 C 和 C++ 编写、专注于 Transformer 架构模型推理的机器学习库。该项目完全开源,处于活跃的开发阶段,开发社区也在不断壮大。ggml 和 PyTorch、TensorFlow 等机器学习库比较相似,但由于目前处于开发的早期阶段,一些底层设计仍在不断改进中。 相比于 llama.cp…

层序遍历(广度优先搜索)-102

题目描述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。解题思路 这里我们层次遍历我们需要使用到队列这个数据结构,我们依次从根节点开始遍历,我们需要使用一个变量来记录此时我们队列中元素的数量,因为这样我们才知道这一层…

CF1980F1 F2 Field Division

前言 纪念一下独立做出来的 \(2400\) 的题 Easy version 思路 先说 \(Easy\) 版本的 我们走路的方式只有可能是这种样子:(出处:luogu user FiraCode) 不想手绘图了 即对列排序后,所形成的一个行编号上升的序列 所以 \(Easy\) 就很简单了,对于每一列的最大值,如果大于当前前…

一篇文章讲清楚Java中的反射

介绍 每个类都有一个 Class 对象,包含了与类有关的信息。当编译一个新类时,会产生一个同名的 .class 文件,该文件内容保存着 Class 对象。 类加载相当于 Class 对象的加载。类在第一次使用时才动态加载到 JVM 中,可以使用 Class.forName("com.mysql.jdbc.Driver"…

django timezone.now 小了8小时

django.util.timezone.now()原因:setting.py中设置了时区:LANGUAGE_CODE = en-usTIME_ZONE = UTCUSE_I18N = TrueUSE_TZ = True # 若数据库中存储的是UTC时间,但在模板显示的时候,会转成TIME_ZONE所示的本地时间进行显示****将TIME_ZONE时区改为:TIME_ZONE = Asia/Shangha…

枚举实现原理

枚举的定义 在JDK1.5之前,我们要是想定义一些有关常量的内容,例如定义几个常量,表示从周一到周末,一般都是在一个类,或者一个接口中,写类似于如下代码: public class WeekDayConstant {public static final int MONDAY = 0;public static final int TUESDAY = 1;public …

航图中的扇区数据生成

今天简单聊一下机场扇区,最后再介绍一下《风标设计2025》航图模块中的扇区绘制功能。机场扇区是以机场基准点(ARP)或归航台为圆心,半径46km(25nm),外加9km(5nm)缓冲区构成。PBN程序扇区通常以ARP为圆心,传统程序扇区以导航台为圆心。对于中小机场,为了统一和简化扇区划设…

【Azure Policy】添加策略用于审计Azure 网络安全组(NSG)规则 -- 只能特定的IP地址允许3389/22端口访问

问题描述 对Azure上的虚拟机资源,需要进行安全管理。只有指定的IP地址才能够通过RDP/SSH远程到虚拟机上, 有如下几点考虑: 1) 使用Azure Policy服务,扫描订阅中全部的网络安全组(NSG: Network Security Group) 资源 2) 判断入站规则,判断是否是3389, 22端口 3) 判断源地…

动态规划——数字三角形模型

数字三角形模型 母题 : 数字三角形思路 ​ 集合 f [i] [j] 表示所有从起点走到(i,j)的路径 ​ 属性 f [i] [j] 存的数是集合中所有路径和的最大值 ​ 状态计算:对于每一条从起点到 ( i , j ) 的路径,其要么是从左上方来的,要么是从右上方来的。 #include<bits/stdc++…

盘点一个Pycharm汉化过程中的一个坑

大家好,我是Python进阶者。 一、前言 前几天在Python最强白银交流群【生产队的驴都是不歇的】问了一个Python汉化的问题,问题如下:要把我弄疯了,汉化不成功,想重新安装,又不给出卸载选项,通过硬盘安装插件又提示异常。去插件文件夹删除所有插件文件,再重新安装pycharm,…