…">
当前位置:首页 > jquery

jquery下拉菜单

2026-03-02 17:19:39jquery

jQuery 下拉菜单实现方法

使用 jQuery 可以轻松实现下拉菜单效果,以下是几种常见的方法:

基础下拉菜单实现

HTML 结构:

<div class="dropdown">
  <button class="dropdown-toggle">菜单</button>
  <ul class="dropdown-menu">
    <li><a href="#">选项1</a></li>
    <li><a href="#">选项2</a></li>
    <li><a href="#">选项3</a></li>
  </ul>
</div>

jQuery 代码:

$(document).ready(function(){
  $('.dropdown-toggle').click(function(){
    $('.dropdown-menu').toggle();
  });
});

鼠标悬停触发下拉

$('.dropdown').hover(
  function(){
    $('.dropdown-menu', this).stop(true, true).slideDown(200);
  },
  function(){
    $('.dropdown-menu', this).stop(true, true).slideUp(200);
  }
);

带动画效果的下拉菜单

$('.dropdown-toggle').click(function(){
  $('.dropdown-menu').slideToggle(300);
});

高级下拉菜单功能

阻止事件冒泡

$('.dropdown-menu').click(function(e){
  e.stopPropagation();
});

$(document).click(function(){
  $('.dropdown-menu').hide();
});

带延迟关闭的下拉菜单

var timer;
$('.dropdown').hover(
  function(){
    clearTimeout(timer);
    $('.dropdown-menu', this).fadeIn(200);
  },
  function(){
    var that = this;
    timer = setTimeout(function(){
      $('.dropdown-menu', that).fadeOut(200);
    }, 300);
  }
);

响应式下拉菜单

移动设备适配

$(window).resize(function(){
  if($(window).width() < 768){
    $('.dropdown-menu').css('display', 'none');
    $('.dropdown-toggle').click(function(){
      $(this).next('.dropdown-menu').slideToggle();
    });
  } else {
    $('.dropdown-menu').css('display', '');
  }
});

带键盘导航的下拉菜单

$('.dropdown-toggle').keydown(function(e){
  if(e.keyCode === 13 || e.keyCode === 32){
    e.preventDefault();
    $(this).click();
  }
});

$('.dropdown-menu li a').keydown(function(e){
  if(e.keyCode === 27){
    $('.dropdown-menu').hide();
  }
});

性能优化建议

  • 使用事件委托处理动态生成的菜单项

    $(document).on('click', '.dropdown-toggle', function(){
    $(this).next('.dropdown-menu').toggle();
    });
  • 缓存 jQuery 选择器结果

    var $dropdown = $('.dropdown');
    $dropdown.find('.dropdown-toggle').click(function(){
    $dropdown.find('.dropdown-menu').toggle();
    });
  • 使用 CSS 过渡替代 jQuery 动画

    jquery下拉菜单

    .dropdown-menu {
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    }
    .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    }
$('.dropdown-toggle').click(function(){
  $('.dropdown-menu').toggleClass('show');
});

标签: 菜单jquery
分享给朋友:

相关文章

react 如何引入jquery

react 如何引入jquery

安装 jQuery 库 在 React 项目中引入 jQuery 的第一步是安装 jQuery。可以通过 npm 或 yarn 安装: npm install jquery # 或 yarn a…

jquery 添加

jquery 添加

jQuery 添加元素的方法 动态添加 HTML 内容 使用 append()、prepend()、after() 或 before() 方法可以在 DOM 中插入新元素。 // 在元素内部末尾…

jquery样式

jquery样式

jQuery 样式操作基础 jQuery 提供了多种方法来操作 HTML 元素的样式,包括直接修改 CSS 属性、添加/移除类名等。以下是常见的样式操作方法: 修改 CSS 属性 使用 css()…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单负责导航功能,右侧区域根据菜单选择动态展示对应内容。 创建基本组件结构 在Vue项目中创建…

jquery 教程

jquery 教程

jQuery 教程概览 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是学习 jQuery 的核心内容和方法。 基础语…

jquery 导航

jquery 导航

jQuery 导航实现方法 使用jQuery创建动态导航菜单 通过jQuery可以轻松实现导航菜单的动态效果,如下拉菜单、滑动菜单等。以下是一个基础的下拉导航实现示例: <ul class=…