当前位置: 首页 > 编程笔记 >

在jQuery 1.4之前启用delay()的使用

索令
2023-03-14
本文向大家介绍在jQuery 1.4之前启用delay()的使用,包括了在jQuery 1.4之前启用delay()的使用的使用技巧和注意事项,需要的朋友参考一下

前几天,我试图将HTML模板转换为CMS系统,但delay()在模板的JavaScript中使用jQuery函数,却发现了一个绊脚石。在模板制作过程的一部分中,我发现页面上发生以下错误。

Uncaught TypeError: Object #<an Object> has no method 'delay'

该错误似乎来自jQuery核心,并且它找不到名为的方法delay()。查看delay()手册页,我可以看到它仅包含在jQuery 1.4中,因此导致了错误,因为该方法在我使用的jQuery版本中不存在。这里的问题是我使用Drupal 6作为CMS,它具有jQuery 1.2.6。即使有了诸如jQuery更新模块之类的第三方解决方案,我也无法完全了解所需的版本。因此,我不得不寻找一种delay()无需将jQuery升级到1.4版就可以包含的方法。

解决方案是将jQuery.fn.extend语句添加到JavaScript页面库中,以便该delay()方法可用于页面上其余代码。下面是创建该delay()方法的代码,可以将其放置在页面上的任何位置,尽管最好将其放在您的主JavaScript文件中。

/**
 * Add in the extend function, added in Jquery 1.4 (which we don't have)
 */
jQuery.fn.extend({
	// 基于Clint Helfers的许可,基于该插件。
	// http://blindsignals.com/index.php/2009/07/jquery-delay/
	delay: function( time, type ) {
		time =jQuery.fx? jQuery.fx.speeds[time] || time : time;
		type = type || "fx";
 
		return this.queue( type, function() {
			var elem = this;
			setTimeout(function() {
				jQuery.dequeue( elem, type );
			}, time );
		});
	}
});

现在,您可以使用以下代码,而不会出现任何错误。

$("div.first").slideUp(300).delay(800).fadeIn(400);

 类似资料:
  • 我想在play应用程序(使用slick)启动之前,从docker compose文件(postgres和kafka实例)启动testcontainers。我想要这个,这样我就可以写一个端到端的测试。我似乎不明白这是怎么可能的。 Scala版本2.12.10 Testcontainer版本0.35.0 Play slick版本5.0.0 当我在没有“TestFunSpec”的情况下执行测试时,doc

  • 问题内容: 根据Java文档,在任何java.io Streams上调用close()都会自动调用flush()。但是我在很多示例中都看到过,即使在生产代码中,开发人员也都在close()之前显式使用了flush()。在什么情况下,我们需要在close()之前使用flush()? 问题答案: 在编写必须发送的内容后,开发人员养成了调用flush()的习惯。 恕我直言,在刚进行写操作时,使用flus

  • .delay( value:Number ) : * 获取或者设置动画的开始延迟秒数(帧)。 var currentDelay = myAnimation.delay(); //获取延迟 myAnimation.delay(2); //设置延迟如果设置则返回self以便链式调用,如果留空则返回延迟秒数(帧)。 .delay()适用于TweenMaxTweenLite .delay()的参数 参数

  • delay:Number 动画开始之前的延迟秒数(以帧为单位时则为帧数)。 delay适用于TweenMaxTweenLite delay的参数 delay 示例 延迟三秒开始动画 body { background: #f8f8f8; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-siz

  • .delay( value:Number ) : * 获取或者设置时间轴的开始延迟秒数(帧)。 var currentDelay = myAnimation.delay(); //获取延迟 myAnimation.delay(2); //设置延迟如果设置则返回self以便链式调用,如果留空则返回延迟秒数(帧)。 .delay()适用于TimelineMaxTimelineLite .delay()

  • delay: Number 时间轴动画开始之前的延迟秒数(或帧数)。restart()无视delay。 new TimelineMax({delay:3}); delay适用于TimelineMaxTimelineLite delay的参数 delay 示例 延迟2秒 restart .box { width:50px; height:50px; borde