You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在网站项目中实现jQuery事件、效果及DOM操作(含下拉菜单)

用jQuery改造你的下拉菜单:实现事件、效果与DOM操作

一、先引入jQuery库

首先要在页面中引入jQuery,建议在</body>标签前添加:

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

(也可以下载jQuery文件到本地后引入,避免依赖外部网络)

二、实现要求d:面板的隐藏/显示、淡入淡出、滑动效果

原下拉菜单用CSS hover触发显示,现在改用jQuery事件绑定,添加动画效果:

1. 替换hover逻辑,添加滑动/淡入动画

在引入jQuery后添加以下脚本:

$(document).ready(function() {
  // 鼠标悬停下拉按钮时,滑动显示面板
  $('.dropbtn').mouseenter(function() {
    $(this).siblings('.dropdown-content').slideDown(300); // 300为动画时长(毫秒)
    // 若要淡入效果,替换为:fadeIn(300)
  });

  // 鼠标离开下拉容器时,滑动隐藏面板
  $('.dropdown').mouseleave(function() {
    $(this).find('.dropdown-content').slideUp(300);
    // 若要淡出效果,替换为:fadeOut(300)
  });

  // 可选:点击按钮切换面板显示(替代hover)
  $('.dropbtn').click(function(e) {
    e.stopPropagation(); // 阻止事件冒泡避免误触发
    $(this).siblings('.dropdown-content').toggle('slide', 300);
  });
});

同时需要注释掉原CSS中hover触发显示的代码,避免冲突:

/* .dropdown:hover .dropdown-content {
  display: block;
} */

常用jQuery效果方法示例

  • slideDown()/slideUp():滑动显示/隐藏元素
  • fadeIn()/fadeOut():淡入/淡出元素
  • toggle():切换元素显示状态,支持指定动画类型
  • animate():自定义动画(比如修改高度、透明度等)

三、实现要求e:jQuery DOM方法操作元素与属性

以下是针对你的下拉菜单的DOM操作实例:

1. 访问与修改元素内容

// 获取下拉按钮的文本内容
let btnText = $('.dropbtn').text();
console.log(btnText); // 输出 "Dropdown "

// 修改下拉面板第一个链接的文本
$('.dropdown-content a:first').text('更新后的链接1');

2. 操作元素属性

// 给所有下拉链接添加新窗口打开属性
$('.dropdown-content a').attr('target', '_blank');

// 获取第一个链接的href属性值
let linkHref = $('.dropdown-content a:first').attr('href');

// 移除最后一个链接的href属性
$('.dropdown-content a:last').removeAttr('href');

3. 添加/移除CSS类

// 给下拉按钮添加激活类
$('.dropbtn').addClass('active');

// 鼠标离开时移除激活类
$('.dropbtn').mouseleave(function() {
  $(this).removeClass('active');
});

// 点击按钮切换激活类的存在状态
$('.dropbtn').click(function() {
  $(this).toggleClass('active');
});

4. 动态增删元素

// 向下拉面板末尾添加新链接
$('.dropdown-content').append('<a href="#new">新增链接</a>');

// 删除下拉面板中的最后一个链接
$('.dropdown-content a:last').remove();

常用jQuery DOM方法汇总

  • 内容操作:text()(纯文本)、html()(含HTML标签)、val()(表单值)
  • 属性操作:attr()(普通属性)、removeAttr()、prop()(布尔属性如checked)
  • 类操作:addClass()、removeClass()、toggleClass()
  • 元素增删:append()、prepend()、after()、before()、remove()、empty()
  • 元素遍历:find()、siblings()、parent()、children()、first()、last()

完整改造后的代码示例

<!DOCTYPE html>
<html>
<head>
<style>
body {
  font-family: Arial, Helvetica, sans-serif;
}

.navbar {
  overflow: hidden;
  background-color: #333;
}

.navbar a {
  float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.dropdown {
  float: left;
  overflow: hidden;
}

.dropdown .dropbtn {
  font-size: 16px;  
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}

.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: red;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.dropdown-content a:hover {
  background-color: #ddd;
}

/* 注释原CSS hover触发逻辑,改用jQuery */
/* .dropdown:hover .dropdown-content {
  display: block;
} */
</style>
</head>
<body>

<div class="navbar">
  <a href="#home">Home</a>
  <a href="#news">News</a>
  <div class="dropdown">
    <button class="dropbtn">Dropdown 
      <i class="fa fa-caret-down"></i>
    </button>
    <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </div> 
</div>

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(document).ready(function() {
  // hover触发滑动效果
  $('.dropbtn').mouseenter(function() {
    $(this).siblings('.dropdown-content').slideDown(300);
  });
  
  $('.dropdown').mouseleave(function() {
    $(this).find('.dropdown-content').slideUp(300);
  });
  
  // DOM操作示例:添加新链接并设置属性
  $('.dropdown-content').append('<a href="#new">新增链接</a>');
  $('.dropdown-content a').attr('target', '_blank');
});
</script>

</body>
</html>

内容的提问来源于stack exchange,提问作者Alaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 01:07:02