jQuery-slideUp开始快而结束慢?

问题描述 投票:0回答:1

我有一个下拉菜单,使用jQuery中的slideUp功能。我想知道我是否可以删除恒定速度并快速开始和结束缓慢。我环顾四周,阅读了easing中的animate方法,并尝试了该方法,但是它似乎对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是一个非常基本的下拉结构(只是ul元素,其中li s然后内部嵌套ul s。然后在css中,将其隐藏到内部ul ul用不显示任何内容,然后由jQuery切换)。

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

javascript jquery html css jquery-animate
1个回答
5
投票

我们可以使用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

© www.soinside.com 2019 - 2024. All rights reserved.