javascript - 如何在内部带有 "start"函数的 jQuery 函数中设置动画时间?

标签 javascript jquery

我必须设置 slideToggle 时间,但是添加了 start 功能,如果我像往常一样设置时间,页面会忽略该指令。

jQuery('.mega-menu-toggle').on('click touch', function(){
    jQuery('.mega-menu').fadeToggle({
        start: function() {
            jQuery(this).css({
                display: 'flex'
            })
        }
    }, 2000);
});

我试图在 fadeToggle 右括号之前添加以毫秒为单位的时间,但浏览器忽略了它。

最佳答案

当向 fadeToggle() 提供设置对象时,应在对象的属性中设置持续时间值:

jQuery(function($) {
  $('.mega-menu-toggle').on('click touch', function() {
    $('.mega-menu').fadeToggle({
      duration: 2000, // add the duration here
      start: function() {
        $(this).css('display', 'flex');
      }
    });
  });
});

有关更多信息,请参阅 documentation

请注意在 document.ready 处理程序参数中使用了 $ 别名。这意味着您可以在该范围内使用 $ 变量并减少代码的冗长程度。

关于javascript - 如何在内部带有 "start"函数的 jQuery 函数中设置动画时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57377670/

相关文章:

javascript - 如何使用 Puppeteer 从 XHR 请求中获取 body/json 响应

javascript - 使用 Google Home 或 Alexa 的 TTS

javascript - 如何合并多个案例?

javascript - 如何在更新网站后看到我的网站更改

jquery - CSS3 动画在 webkit 中不起作用

javascript - 如何使用 jquery 处理 div 的 onclick 事件?

javascript - 在窗口调整大小时添加和删除 jQuery 插件

javascript - jquery : detecting scroll position

javascript - 随机图像旋转的多个实例

javascript - 我有一个 php 文件,它提供 JSON 输出,并希望在 D3 中使用该 JSON