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 来提升网页的功能性和用户体验。希望这些例子能为您提供一些灵感和帮助。如果您有更多具体的需求或问题,请随时告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涔溪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值