Jquery的淡入淡出“慢”太快了

Posted

技术标签:

【中文标题】Jquery的淡入淡出“慢”太快了【英文标题】:Jquery's fadein 'slow' is too fast 【发布时间】:2011-05-04 10:57:09 【问题描述】:

我正在使用带慢速选项的 jquery 淡入淡出,但对我来说还是有点太快了。 现在我读到你只能在快和慢之间进行选择,但是有没有办法让它变慢?

【问题讨论】:

毫秒变体看起来不错,不知道我能做到,因为我在文档中读过这个:可以提供字符串 'fast' 和 'slow' 来表示 200 的持续时间和 600 毫秒,分别。如果提供了任何其他字符串,或者如果省略了持续时间参数,则使用 400 毫秒的默认持续时间。 【参考方案1】:

你有两个选择。第一种是在调用中使用毫秒数:

$('#myItem').fadeOut(1500); // 1.5 seconds

第二个选项是定义一个自定义速度,或者重新定义一个jQuery原生速度:

$.fx.speeds.slow = 1500; // 'slow' now means 1.5 seconds
$.fx.speeds.xslow = 3000; // 'xslow' means 3 seconds
$.fx.speeds.xfast = 100; // 'xfast' means 0.1 seconds

然后您可以正常调用它们:

$('#myItem').fadeOut('slow');
$('#myItem').fadeOut('xslow');
$('#myItem').fadeOut('xfast');

这允许您在应用程序范围内重新定义速度。

【讨论】:

【参考方案2】:

使用毫秒数而不是“快”或“慢”

例如

$('#myID').fadeIn(100, function() 
  // complete
);

见http://api.jquery.com/fadeIn/

【讨论】:

您还可以使用 $.fx.speeds._default = 250 全局设置 fx 速度;其中 250 以毫秒为单位 文档是这么说的,所以我不认为我可以设置自己的毫秒:可以提供字符串“快”和“慢”来分别表示 200 和 600 毫秒的持续时间。如果提供了任何其他字符串,或者如果省略了持续时间参数,则使用 400 毫秒的默认持续时间。【参考方案3】:

除了 'slow'/'fast' 之外,fadeIn 函数还需要以毫秒为单位的时间跨度,因此您可以根据需要设置任意时间:

$('#someId').fadeIn(3000); // 3 second fade in

【讨论】:

【参考方案4】:

我真的不知道你想要多慢,但我推荐 2500-4000 之间的东西

$('#Id').fadeIn(3500);

我们去

【讨论】:

以上是关于Jquery的淡入淡出“慢”太快了的主要内容,如果未能解决你的问题,请参考以下文章

在多个列表项上使用淡入淡出 jQuery 淡入淡出效果更改图像源

jQuery 淡入淡出切换

在 css jQuery 中应用淡入淡出到粘性导航的过渡淡入淡出

jQuery 效果 – 淡入淡出

jQuery 音频淡入淡出

jQuery 效果 - 淡入淡出