javascript - jQuery - slideUp 开始快结束慢?

标签 javascript jquery html css jquery-animate

我有一个下拉菜单,它使用 jQuery 中的 slideUp 功能。我想知道我是否可以取消恒定速度并开始快结束慢。看了一圈,看了animate中的easing方法,试了一下,好像对slideUp不起作用,只有animate(如果我错了请告诉我);但除此之外,我似乎无法弄清楚。有任何想法吗?这是我当前的代码:

$(document).ready(function(){
    var h = "fast";

    $("[data-action='dropdown']").click(function(e) {
        e.stopPropagation();
    });

    $("body").click(function() {
        $("[data-action='dropdown'] ul ul").slideUp(h);
    });

    $("[data-action='dropdown'] ul li").click(function() {
        $("[data-action='dropdown'] ul ul").slideUp(h);

        $("ul", this).slideDown(h, function(){
            $("ul", this).slideUp(h);
        });
    });
});

HTML 是一个非常基本的下拉结构(只是一个带有 liul 元素,然后是嵌套在里面的 ul。然后在css,我让它到达内部 ul ul 隐藏的地方,显示为 none,然后,当然,由 jQuery 切换)。

任何帮助将不胜感激! :-)

最佳答案

我们可以使用 jQuery easing plugin去做这个。

包含 jQuery 缓动 Javascript 文件:

https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js

然后我们可以在 slideUp 函数中使用缓动变量作为参数。

Javascript

jQuery('#Example').slideUp({
    duration: 1000,
    easing: 'easeOutCubic'
});

Demo

关于javascript - jQuery - slideUp 开始快结束慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13773701/

相关文章:

javascript - 在 Bootstrap Accordion 上,有没有办法在折叠时向标题添加固定的保存按钮?

javascript - Jquery slider 的行为与文档中的示例不同

javascript - 使用 jQuery 检查是否选中了多个复选框?

javascript - 如何使用 php、ajax 和 jquery 将数据库中的设置值调用到 <label> 中

html - 当打印太长的文本时, Angular 会覆盖文本而不是下一行

javascript - 如何在php中的if block 中显示div

javascript - 带超时的循环函数

javascript - jquery如何返回被选元素的数组

javascript - 我想限制 3 个以上的选择框只选择一个 <option> 一次 - 我做错了什么?

html - 使用 Bootstrap 4 在小型设备上进行页脚布局、响应和隐藏