…">
当前位置:首页 > 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
分享给朋友:

相关文章

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 在Vue中实现菜单功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-for动态生成菜单 通过数据驱动的方式动态渲染菜单项,适合菜单内容可能变化的场景: <t…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单用于导航,右侧区域根据菜单选择动态展示内容。 创建左侧菜单组件 左侧菜单通常是一个列表,可…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

jquery 对话框

jquery 对话框

jQuery 对话框的实现方法 jQuery 对话框通常通过 jQuery UI 库中的 dialog() 方法实现。以下是几种常见的实现方式: 基本对话框实现 引入必要的 jQuery 和 jQ…

jquery获取

jquery获取

获取元素 使用jQuery选择器获取元素,通过CSS选择器或jQuery特定选择器定位目标元素。常见选择器包括ID选择器(#id)、类选择器(.class)、标签选择器(tag)等。示例: $('#…

jquery 方法

jquery 方法

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是一些常用的 jQuery 方法及其用途: 选择器方法 $("selec…