onresize IE中多次执行题目
发布时间:2018-09-08 17:06:00 所属栏目:创业 来源:站长网
导读:页面上给window工具界说其onresize变乱,在拉伸缩小窗口时,其onresize要领将被执行多次,影响页面机能。 网上查了些资料,说是在ie和opera中,只要窗口的边框移动一个像素,resize变乱就触发;而在mozilla中,只在遏制对窗口的巨细改变时才触发resize 变乱
页面上给window工具界说其onresize变乱,在拉伸缩小窗口时,其onresize要领将被执行多次,影响页面机能。 网上查了些资料,说是在ie和opera中,只要窗口的边框移动一个像素,resize变乱就触发;而在mozilla中,只在遏制对窗口的巨细改变时才触发resize 变乱。 遏制窗口巨细改变时触发resize变乱才是较量抱负的。 我认为onresize的触发是这样的:凭证一个很短的隔断来判定,当你把200*200的窗口拖到200*400的时辰中间要颠末屡次resize,从而触发几个onresize. 要停止多次onresize触发引起某个代码执行多次的不良效果,可以本身写个函数,在onresize之后隔断一个时刻值(setTimeout)再挪用你要执行的代码,通过置状态变量判定是否要执行,假如两次onresize的时距离断小于100ms,就再setTimeout,等等看。 <script type="text/javascript"> var resizeTimer = null; function doResize(){ alert("width="+document.documentElement.clientWidth + " Height="+document.documentElement.clientHeight); resizeTimer=null } window.onresize = function(){ if(resizeTimer==null){ resizeTimer = setTimeout("doResize()",300); } } </script> (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |