Mod*_*ner 0 html javascript css jquery jquery-animate
我有一个使用slideUpjQuery 功能的下拉菜单。我想知道是否可以取消恒定速度并快速开始并缓慢结束。我环顾四周并阅读了 中的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);
});
});
});
Run Code Online (Sandbox Code Playgroud)
HTML 是一个非常基本的下拉结构(只是一个ul带有lis 和内部uls的元素嵌套在里面。然后在 css 中,我将其ul ul显示为 none 隐藏内部的位置,然后,当然,由 jQuery 切换) .
任何帮助将不胜感激! :-)
我们可以使用jQuery 缓动插件来做到这一点。
包含 jQuery 缓动 Javascript 文件:
https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js
Run Code Online (Sandbox Code Playgroud)
然后我们可以使用缓动变量作为slideUp函数中的参数。
Javascript
jQuery('#Example').slideUp({
duration: 1000,
easing: 'easeOutCubic'
});
Run Code Online (Sandbox Code Playgroud)