Web网页制作之JavaScript的应用

news/2025/1/10 14:37:08/
htmledit_views">

 ---------------📡🔍K学啦 更多学习资料📕 免费获取---------------


实现的功能:1.通过登录界面跳转至主页面,用户名统一为“admin”,密码统一为“admin123”,密码可显示或隐藏输入错误有提示信息。可通过enter键,进行登录跳转。

                      2.登录界面的登录框为模态框,可通过鼠标拖拽移动。

                      3.主页面中包含横向或竖向导航菜单,可通过鼠标事件使选中菜单变色,并调出二级菜单。主页面内可实时显示当前时间;主页面可修改主页背景颜色或背景图片;主页面内使用轮播图滚动播放信息;在主页中实现tab栏的切换,不跳转页面控制内容的呈现。固定主页面导航栏。

目录

一、网页的基本结构 

二、登录页面的功能实现

三、主页的功能实现 

四、整体效果 

五、源码获取 


一、网页的基本结构 

html"><!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="    " content="      "><link rel="icon" href="../img/logo.jpg">-----//网页logo<title>猿来如此</title>--------//网页标题<style> ...............//位置,大小,颜色,形状</style>
</head>-------------//头部
<body>-----------//主体<header><nav class="    ">------//导航栏菜单<ul class="    "><li class="menu-item" onclick="showSubMenu('menu1')">微信小程序</li><li class="menu-item" onclick="showSubMenu('menu2')">搜</li><li class="menu-item" onclick="showSubMenu('menu3')">K学啦</li></ul><div id="menu1" class="sub-menu">------//子菜单<a href="#">小程序</a><a href="#">K学啦</a></div><div id="menu2" class="sub-menu"><a href="#">私信</a><a href="#">评论区</a></div><div id="menu3" class="sub-menu"><a href="#">注销</a><a href="#">退出</a></div></nav></header><div class=" " id=" "> ............</div><div class=" " id=" "> ............</div><script> ..............//js部分</script><footer class=" "><p>©版权信息</p></footer>
</body>
</html>

二、登录页面的功能实现

html"><body><div class="overlay" id="overlay"><div class="modal" id="modal"><div class="modal-header" id="modalHeader"><h2>Login</h2> ------//二级标题</div><div class="modal-content"><input type="text" id="username" placeholder="Username" required><input type="password" id="password" placeholder="Password" required><button onclick="login()">登录</button>---//登录事件<input type="checkbox" id="showPassword" onclick="togglePassword()">展示密码<div class="error-message" id="errorMessage">用户名或密码不正确</div></div></div></div><div class="overlay" id="overlay"><div class="modal" id="modal"><div class="modal-header" id="modalHeader"><h2>Login</h2></div><div class="modal-content"><input type="text" id="username" placeholder="Username" required><input type="password" id="password" placeholder="Password" required><button onclick="login()">登录</button><input type="checkbox" id="showPassword" onclick="togglePassword()">展示密码<div class="error-message" id="errorMessage">用户名或密码不正确</div></div></div></div><script>const username = 'admin';    ------固定用户名const password = 'admin123'; ------固定密码document.getElementById('password').addEventListener('keypress', function(e) {if (e.key === 'Enter') {login();}});  ----------------Enter触发登录事件function login() {const userInputUsername = document.getElementById('username').value;const userInputPassword = document.getElementById('password').value;if (userInputUsername === username && userInputPassword === password) {window.location.href = 'main.html'; ------//用户输入用户名密码和固定的相等时跳转到main.html} else {document.getElementById('errorMessage').style.display = 'block';}}   ---------------//否则触发errorMessage事件报错function togglePassword() {const passwordField = document.getElementById('password');const type = passwordField.getAttribute('type') === 'password' ? 'text' : 'password';passwordField.setAttribute('type', type);} ------------//展示密码功能//拖拽功能let modal = document.getElementById('modal');let modalHeader = document.getElementById('modalHeader');let isDragging = false;let offsetX, offsetY;modalHeader.onmousedown = dragMouseDown;function dragMouseDown(e) {isDragging = true;modal.style.cursor = 'grabbing';offsetX = e.clientX - modal.getBoundingClientRect().left;offsetY = e.clientY - modal.getBoundingClientRect().top;document.onmouseup = closeDragElement;document.onmousemove = elementDrag;}function elementDrag(e) {if (isDragging) {modal.style.left = `${e.clientX - offsetX}px`;modal.style.top = `${e.clientY - offsetY}px`;}}function closeDragElement() {isDragging = false;modal.style.cursor = 'grab';document.onmouseup = null;document.onmousemove = null;}document.getElementById('overlay').style.display = 'flex';</script>
</body>

三、主页的功能实现 

 ①主页面中包含横向或竖向导航菜单,可通过鼠标事件使选中菜单变色,并调出二级菜单,并显示当前时间。

HTML代码: 

html"><header><nav class="navbar"><ul class="menu"><li class="menu-item" onclick="showSubMenu('menu1')">微信</li><li class="menu-item" onclick="showSubMenu('menu2')">源码获取</li><li class="menu-item" onclick="showSubMenu('menu3')">退出</li></ul><div id="menu1" class="sub-menu"><a href="#">小程序</a>------//如,href="1.html",跳转到1.html<a href="#">K学啦</a></div><div id="menu2" class="sub-menu"><a href="#">私信</a><a href="#">评论区</a></div><div id="menu3" class="sub-menu"><a href="#">注销</a><a href="#">退出</a></div></nav><div class="time-display" id="timeDisplay"></div></header>

JavaScript代码: 

html" title=javascript>javascript">document.addEventListener('DOMContentLoaded', () => {const timeDisplay = document.getElementById('timeDisplay');setInterval(() => {const now = new Date();timeDisplay.textContent = now.toLocaleTimeString();}, 1000);const carouselImages = document.querySelector('.carousel-images');let carouselIndex = 0;const images = document.querySelectorAll('.carousel-images img');const totalImages = images.length;setInterval(() => {carouselIndex = (carouselIndex + 1) % totalImages;const offset = -carouselIndex * 100 + '%';carouselImages.style.transform = `translateX(${offset})`;}, 3000);
});---------//显示当时时间function showSubMenu(menuId) {const menus = document.querySelectorAll('.sub-menu');menus.forEach(menu => menu.style.display = 'none');document.getElementById(menuId).style.display = 'block'; -----//鼠标活动变色const menuItems = document.querySelectorAll('.menu-item');menuItems.forEach(item => item.classList.remove('active'));document.querySelector(`.menu-item[onclick="showSubMenu('${menuId}')"]`).classList.add('active');
}-------//活动菜单栏

 

 ②主页面可修改主页背景颜色或背景图片;主页面内使用轮播图滚动播放信息。

HTML代码: 

html">    <div class="background-controls"><label for="bgColor">背景颜色:</label><input type="color" id="bgColor" onchange="changeBackgroundColor(this.value)"><label for="bgImage">背景图片:</label><input type="file" id="bgImage" accept="image/*" onchange="changeBackgroundImage(this.files[0])">------//选择本地图片</div><div class="    ">-------//轮播图<div class="    "><img src="1.jpg" alt="Image 1"><img src="2.png" alt="Image 2"><img src="5.jpg" alt="Image 3"></div></div>

JavaScript代码: 

html" title=javascript>javascript">function changeBackgroundColor(color) {document.body.style.backgroundColor = color;
}function changeBackgroundImage(file) {const reader = new FileReader();reader.onload = function(e) {document.body.style.backgroundImage = `url(${e.target.result})`;document.body.style.backgroundSize = 'cover';document.body.style.backgroundPosition = 'center';};reader.readAsDataURL(file);
}
修改背景颜色

 

 

修改背景图片

 ③在主页中实现tab栏的切换,不跳转页面控制内容的呈现。固定主页面导航栏。

HTML代码:

html"><div class="tabs"><div class="tab-buttons"><button class="tab-button" onclick="showTab('tab1')">C语言</button><button class="tab-button" onclick="showTab('tab2')">python语言</button><button class="tab-button" onclick="showTab('tab3')">JAVA语言</button></div><div id="tab1" class="tab-content"><p>C语言是一种较早的程序设计语言,诞生于1972年的贝尔实验室。1972 年,Dennis Ritchie 设计了C语言,它继承了B语言的许多思想,并加入了数据类型的概念及其他特性。尽管C 语言是与 UNIX 操作系统一起被开发出来的,但它不只支持UNIX。C是一种通用(广泛可用)的编程语言。</p></div><div id="tab2" class="tab-content"><p>Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。</p></div><div id="tab3" class="tab-content"><p>Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。</p></div>
</div>

JavaScript代码:

html" title=javascript>javascript">function showTab(tabId) {const tabs = document.querySelectorAll('.tab-content');tabs.forEach(tab => tab.classList.remove('active')); // 移除所有标签的 'active' 类document.getElementById(tabId).classList.add('active'); // 为指定的标签添加 'active' 类
}

四、整体效果 

五、源码获取 

  看到这里你是否受益了呢?你的支持就是我创作的动力,点赞+收藏+关注,学习不迷路,评论区留下你的疑问,可私信获取源码。


http://www.ppmy.cn/news/1561997.html

相关文章

【AI游戏】使用强化学习玩 Flappy Bird:从零实现 Q-Learning 算法(附完整资源)

1. 引言 Flappy Bird 是一款经典的休闲游戏&#xff0c;玩家需要控制小鸟穿过管道&#xff0c;避免碰撞。虽然游戏规则简单&#xff0c;但实现一个 AI 来自动玩 Flappy Bird 却是一个有趣的挑战。本文将介绍如何使用 Q-Learning 强化学习算法来训练一个 AI&#xff0c;使其能够…

SwiftUI 是如何改变 iOS 开发游戏规则的?

SwiftUI 是 Apple 推出的现代化声明式 UI 框架&#xff0c;适用于 iOS、macOS、watchOS 和 tvOS 开发。 SwiftUI 与传统 UIKit&#xff08;Swift 和 Objective-C&#xff09; 的优劣势对比&#xff1a; SwiftUI 的优势 一. 声明式编程 优势: SwiftUI 使用声明式语法&#xff…

线性回归的改进-岭回归

2.10 线性回归的改进-岭回归 学习目标 知道岭回归api的具体使用 1 API sklearn.linear_model.Ridge(alpha1.0, fit_interceptTrue,solver"auto", normalizeFalse) 具有l2正则化的线性回归alpha:正则化力度&#xff0c;也叫 λ λ取值&#xff1a;0~1 1~10solver:会根…

爬取电影数据结合Flask实现数据可视化

网站:Scrape | Movie 本案例(爬虫)所需要的模块 requests (网络请求模块)pandas (数据保存模块)parsel (数据解析模块)lxml (数据解析模块) pyecharts (可视化库)flask(框架) 以上的模块均需要通过 指令 pip install 模块名 安装 Explain: 分析此页面的数据为静态的…

flask-admin 非自定义modelview下扩展默认视图(base.html)

背景 在默认视图下实现某些统一的业务需求&#xff0c;如想改变默认视图的某些样式等。本文想阐述的是在默认视图下添加“面包屑”效果 材料&#xff1a; 略 制作&#xff1a; 目标&#xff1a; 1、在不重构的情况下实现如下效果 2、上源码 {% if admin_view.category %}…

C#中 string.Equals 和 == 区别

在 C# 中&#xff0c;string.Equals方法和运算符都可用于比较字符串&#xff0c;但它们在某些方面存在区别&#xff0c;主要如下&#xff1a; **string.Equals方法&#xff1a;**是一个实例方法&#xff0c;用于比较两个字符串对象的内容是否相等&#xff0c;比较时会根据字符…

QT笔记- QTableWidget移动行

QTableWidget * tw ui->tableWidget;// 保存要移动的行的数据QList<QTableWidgetItem *> items;for(int i 0; i < 2; i){QTableWidgetItem * C0Item;QTableWidgetItem * C1Item;QTableWidgetItem * C2Item;int removeRow -1;for(int row 0; row < tw->ro…

Android studio gradle与gradle插件

最终换gradle版本&#xff0c;糊成一坨。 记录一下 Android studio里有两个容易搞混&#xff0c;记载一下。 build.gradle文件中的为插件版本&#xff1a; classpath "com.android.tools.build:gradle:3.5.0" gradle.properties里的才是gradle版本。 distributio…