当前位置: 首页 > article >正文

JavaScript (JS)网页设计案例

JavaScript (JS)网页设计案例

JavaScript (JS) 在网页设计中扮演着极其重要的角色,它不仅能够增强用户体验,还能实现各种动态效果和交互功能。以下是一些使用 JavaScript 实现的网页设计案例,涵盖不同场景和技术栈:

1. 动态导航栏

描述:当用户滚动页面时,导航栏会自动隐藏或显示,同时可能改变样式以适应不同部分的内容。 技术:纯 JavaScript 或结合 jQuery。 示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动态导航栏</title>
<style>
  .navbar {
    background-color: #333;
    color: white;
    padding: 10px;
    position: fixed;
    top: 0;
    width: 100%;
    transition: top 0.3s;
  }
  .navbar.hide {
    top: -50px;
  }
</style>
</head>
<body>
<div class="navbar" id="myNavbar">导航栏</div>

<script>
window.onscroll = function() {scrollFunction()};

function scrollFunction() {
  var navbar = document.getElementById("myNavbar");
  if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) {
    navbar.classList.add("hide");
  } else {
    navbar.classList.remove("hide");
  }
}
</script>
</body>
</html>

2. 模态框(弹出窗口)

描述:点击按钮后弹出一个模态框,用户可以在其中查看详细信息或进行操作。 技术:JavaScript + CSS。 示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模态框</title>
<style>
  .modal {
    display: none; /* 默认隐藏 */
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
  }
  .modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
  }
</style>
</head>
<body>
<button onclick="openModal()">打开模态框</button>

<div id="myModal" class="modal">
  <div class="modal-content">
    <span class="close" onclick="closeModal()">&times;</span>
    <p>这是一个模态框。</p>
  </div>
</div>

<script>
function openModal() {
  document.getElementById('myModal').style.display = "block";
}

function closeModal() {
  document.getElementById('myModal').style.display = "none";
}
</script>
</body>
</html>

3. 图片轮播

描述:展示一系列图片,每张图片按照设定的时间间隔自动切换,也可以通过按钮手动切换。 技术:JavaScript + CSS。 示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片轮播</title>
<style>
  .slideshow-container {
    max-width: 1000px;
    position: relative;
    margin: auto;
  }
  .mySlides {
    display: none;
  }
  .prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
  }
  .next {
    right: 0;
    border-radius: 3px 0 0 3px;
  }
</style>
</head>
<body>
<div class="slideshow-container">
  <div class="mySlides fade">
    <img src="image1.jpg" style="width:100%">
  </div>
  <div class="mySlides fade">
    <img src="image2.jpg" style="width:100%">
  </div>
  <a class="prev" onclick="plusSlides(-1)">❮</a>
  <a class="next" onclick="plusSlides(1)">❯</a>
</div>

<script>
var slideIndex = 1;
showSlides(slideIndex);

function plusSlides(n) {
  showSlides(slideIndex += n);
}

function showSlides(n) {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  if (n > slides.length) {slideIndex = 1}
  if (n < 1) {slideIndex = slides.length}
  for (i = 0; i < slides.length; i++) {
      slides[i].style.display = "none";  
  }
  slides[slideIndex-1].style.display = "block";  
}
setInterval(function(){ plusSlides(1); }, 3000); // 自动切换
</script>
</body>
</html>

4. 表单验证

描述:在用户提交表单之前,检查输入的有效性,确保所有必填字段都已正确填写。 技术:JavaScript。 示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单验证</title>
</head>
<body>
<form id="myForm" onsubmit="return validateForm()">
  <label for="email">邮箱:</label>
  <input type="email" id="email" name="email" required>
  <br><br>
  <label for="password">密码:</label>
  <input type="password" id="password" name="password" required>
  <br><br>
  <input type="submit" value="提交">
</form>

<script>
function validateForm() {
  var email = document.getElementById('email').value;
  var password = document.getElementById('password').value;
  if (email === "" || password === "") {
    alert("所有字段必须填写!");
    return false;
  }
  if (!email.includes('@')) {
    alert("请输入有效的电子邮件地址!");
    return false;
  }
  return true;
}
</script>
</body>
</html>

以上案例展示了如何使用 JavaScript 来提升网页的功能性和用户体验。希望这些例子能为您提供一些灵感和帮助。如果您有更多具体的需求或问题,请随时告诉我!


http://www.kler.cn/a/390382.html

相关文章:

  • D67【python 接口自动化学习】- python基础之数据库
  • 开源vs闭源:你更看好哪一方?
  • 谷歌浏览器的自动翻译功能如何开启
  • 管家婆财贸ERP BB045.销售批量收款
  • WebStorm 如何调试 Vue 项目
  • JDBC-Dao层模式
  • 理解C语言之深入理解指针
  • 第R2周:LSTM算法详解
  • vscode Markdown
  • 37 string类关键函数的模拟实现
  • linux 下查看程序启动的目录
  • 抢抓5G机遇,AORO A23防爆手机如何直击园区巡检挑战?
  • Spring系统框架
  • Pytorch学习--神经网络--完整的模型训练套路
  • 【韩老师零基础30天学会Java 】06章 数组、排序和查找
  • Android 源码的下载与编译
  • yolo v11相关文件
  • 机器视觉中常用图像处理库都有哪些?重点关注.net
  • Qt 编写插件plugin,支持接口定义信号
  • 【日志】力扣167.两数之和2 - 输入有序数组 // Unity——Roll A Ball(一)
  • diboot低代码中使用junit测试controller,入参不生效问题解决
  • Java学习教程,从入门到精通,Java修饰符语法知识点及案例代码(23)
  • openlayers实现图层裁剪,只展示关心区域,抹掉无关区域,“抠”地图
  • ARM64环境使用docker-compose进行ElasticSearch8集群部署
  • Scala中的可变Map操作:简单易懂指南 #Scala Map #Scala
  • CTF 入门指南:从零开始学习网络安全竞赛