jQuery 每个切换类之间的延迟
jQuery delay between each toggleclass
我做了一个(相当复杂的)解决方案,我从侧面弹出了 4 个菜单项 in/out,我通过切换 class.
来实现这一点
$('.menuitem').toggleClass('show');
效果很好,但客户现在希望它 "slide out"。我认为如果我可以在每次切换之间创建一个延迟,我可以让他开心,但我找不到一个好的方法来做到这一点。在实践中,我希望每个菜单项都 toggleClass 但在下一个 toggleClass 之前可能延迟 250ms。
已编辑 - 显然延迟功能不适用于切换,只能用于动画。
怎么样:
$('.menuitem').toggleClass('show').delay(1000).toggleClass('hide');
请参阅 jQuery's delay() function 以获取更多参考。
考虑以下代码:
$('.menuitem').each(function(i) {
var elm=$(this);
setTimeout(function() {
elm.toggleClass('show');
}, i * 250);
});
See it in action,在这个demo中我一个一个隐藏潜入,延迟1000ms
我会在单独的活动中进行 $('.menuitem').toggleClass('show')
。
例如<button onmousedown="$('.menuitem').toggleClass('show');" onclick="myfunc();">Fast Toggle</button>
如果您切换 onmousedown 页面将在点击事件触发前使用切换呈现。
我做了一个(相当复杂的)解决方案,我从侧面弹出了 4 个菜单项 in/out,我通过切换 class.
来实现这一点$('.menuitem').toggleClass('show');
效果很好,但客户现在希望它 "slide out"。我认为如果我可以在每次切换之间创建一个延迟,我可以让他开心,但我找不到一个好的方法来做到这一点。在实践中,我希望每个菜单项都 toggleClass 但在下一个 toggleClass 之前可能延迟 250ms。
已编辑 - 显然延迟功能不适用于切换,只能用于动画。
怎么样:
$('.menuitem').toggleClass('show').delay(1000).toggleClass('hide');
请参阅 jQuery's delay() function 以获取更多参考。
考虑以下代码:
$('.menuitem').each(function(i) {
var elm=$(this);
setTimeout(function() {
elm.toggleClass('show');
}, i * 250);
});
See it in action,在这个demo中我一个一个隐藏潜入,延迟1000ms
我会在单独的活动中进行 $('.menuitem').toggleClass('show')
。
例如<button onmousedown="$('.menuitem').toggleClass('show');" onclick="myfunc();">Fast Toggle</button>
如果您切换 onmousedown 页面将在点击事件触发前使用切换呈现。