加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

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>

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读