js 延迟执行(转)

<div id="aaa" style="height:200px; width:200px; background:#CCC;"></div>
<div id="bbb" style="height:200px; width:200px; background:#CFC;"></div>

<script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-1.8.2.min.js"></script>
<script>
$.fn.hoverDelay = function(options){
	var defaults = {
		hoverDuring: 2000,
		outDuring: 2000,
		hoverEvent: $.noop,
		outEvent: $.noop
	};
	var sets = $.extend(defaults, options || {});
	return $(this).live("hover",function(event) {
		var that = this;
		if(event.type =="mouseenter"){
			clearTimeout(that.outTimer);
			that.hoverTimer = setTimeout(
			function(){sets.hoverEvent.apply(that)},
			sets.hoverDuring
		);
	}
	else
	{
		clearTimeout(that.hoverTimer);
		that.outTimer = setTimeout(
		function(){sets.outEvent.apply(that)},
		sets.outDuring
	);
	}
	});
}

$("#aaa").hoverDelay({
    hoverEvent: function(){
        $("#bbb").html("进入");
    },
	outEvent:function(){
		$("#bbb").html("离开");
	}
});

</script>

  

时间: 2024-08-30 17:40:49

js 延迟执行(转)的相关文章

js延迟执行函数

在js中,延迟执行函数有两种:setTimeout和setInterval setTimeout("test()","2000"); //2000毫秒后执行test()函数,只执行一次. setInterval("test()","2000"); //每隔2000毫秒执行一次test()函数,执行无数次. var interval = window.setInterval("test()","20

关于js的执行与加载

js在浏览器中性能,可以认为是开发者所面临的最严重的可用性问题了,这个问题因为js的阻塞特性变得很复杂,也就是说浏览器在执行js代码时,不能同时做其他任何事情.事实上,多数浏览器使用单一进程来处理用户界面刷新和js脚本的执行,所以只能同一时刻做一件事,js的执行过程耗时越久,浏览器等待响应的时间就越长. 简单的说,这意味着<script>标签每次出现都霸道地让页面等待脚本的解析和执行.无论当前的js代码时内嵌还是外链接,页面的下载和渲染都必须停下来等脚本的执行完成.这是页面生存周期中的必要环节

JS异步执行之setTimeout 0的妙用

最近在工作中遇到一些问题,大致是关于js执行问题的.由于没搞清执行顺序,导致出现了一些奇怪的bug. 所以这里整理一些有关异步执行的知识(冰山一角角)... 大家都知道js是单线程的,执行起来是顺序的,在顺序的业务逻辑中当然没有问题.如果遇到可以并发执行的业务逻辑,再排队就很低级了,所以需要异步执行! 1.什么是异步? setTimeout(function(){ console.log(0); },0) console.log(1); // 先打印 1 // 再打印 0 比方说有些饭店你去吃饭

iOS: 零误差或极小误差的定时执行或延迟执行?

问题如下: 节奏类游戏需要执行很多的跟音乐节拍相关的操作,并且为了保证节奏感,需要让操作跟节拍的关系十分紧密.对两者间隔要求不能超过0.02秒或更低. 目前使用了 GCD 中的 asyncAfter(deadline:)方法,不过误差总是要大于0.05秒,并且还无法保证误差会不会传递下去.请问有更好的方式来解决误差吗? var time = Date().timeIntervalSince1970 let dq = DispatchQueue(label: "queue", qos:

nodejs延迟执行

setImmediate方法和process.nextTick()方法都是延迟执行的方法,先来看下面一个例子,来区别两者的区别. process.nextTick(function(args){ console.log("nextTick延迟执行!"); }); setImmediate(function(args){ console.log("setImmediate延迟执行!"); }); console.log("正常执行!"); //正常

延迟执行

// 延迟执行不要用sleep,坏处:卡住当前线程    [NSThread sleepForTimeInterval:(NSTimeInterval)]; // 一旦定制好延迟任务后,不会卡主当前线程[self performSelector:<#(SEL)#> withObject:<#(id)#> afterDelay:<#(NSTimeInterval)#>]; //n秒后回到主线程执行block中的代码 dispatch_queue_t queue = dis

浅析js的执行顺序

javascript是一种描述型的脚本语言,是一种解析语言,由浏览器动态解析,不同种类的浏览器不同版本的浏览器对于js的解析有着微小的差别,不同浏览器的js解析引擎效率也有高低,下面来给大家分析一下js的执行顺序,希望对大家能有所帮助,欢迎大家交流指正. 首先js的执行过程分为两大部分,第一部分,解析过程,也称预编译期.主要工作就是对于js的代码中声明的所有变量和函数进行预处理.需要注意的是,再此进行处理的仅是声明函数,而对于变量的处理仅是声明,并开辟出一块内存空间,不进行复制操作. 第二部分,

IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget

本文非本人撰写 [cpp] view plaincopy @interface NSObject (NSDelayedPerforming) - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay inModes:(NSArray *)modes; - (void)performSelector:(SEL)aSelector withObject:(id)a

不同浏览器(chrome,firefox,IE)在JQuery与原生JS之执行性能比较

本次测试所用浏览器为chrome(36.0.1985.125m),firefox(31.0),IE(8.0) 1. 比较JQuery在不同浏览器对于js的执行性能 计算插入20000条div节点所需时间 for(var i=0;i<20000;i++){ var divTag = document.createElement('div'); $("#chn").append(divTag); } Result: 时间单位ms chrome 584 614 593 574 596