…">
当前位置:首页 > 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);
  }
);

带动画效果的下拉菜单

jquery下拉菜单

$('.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);
  }
);

响应式下拉菜单

移动设备适配

jquery下拉菜单

$(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 动画

    .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
分享给朋友:

相关文章

jquery官网

jquery官网

jQuery 官网信息 jQuery 的官方网站是 jQuery.com,提供最新的 jQuery 版本下载、文档、教程和插件资源。 官网主要功能 下载 jQuery:提供压缩版(min…

vue菜单实现

vue菜单实现

实现Vue菜单的基本方法 使用Vue.js创建菜单可以通过多种方式实现,包括使用原生Vue组件、第三方UI库或自定义解决方案。以下是几种常见的实现方法: 使用原生Vue组件 创建基本的菜单结构可以使…

jquery选择器

jquery选择器

jQuery 选择器基础 jQuery 选择器用于选取 DOM 元素,基于 CSS 选择器语法扩展。通过 $() 或 jQuery() 函数调用,返回匹配元素的集合。 常见选择器类型…

jquery特效

jquery特效

jQuery 常见特效实现方法 淡入淡出效果 使用 fadeIn() 和 fadeOut() 方法实现元素的渐显和渐隐效果。可通过参数控制动画持续时间(毫秒)和缓动函数。 $("#element"…

jquery作用

jquery作用

jQuery的作用概述 jQuery是一个快速、简洁的JavaScript库,主要用于简化HTML文档遍历、事件处理、动画设计和Ajax交互等操作。其核心目标是让开发者以更少的代码完成更多功能,同时解…

jquery 添加

jquery 添加

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