IE6浏览器下resize事件被执行了多次解决方法


Posted in Javascript onDecember 11, 2012

在IE浏览器下,一次resize事件被执行了多次。这是IE6和IE7的一个比较广为认知的问题,这个问题在这两个版本的浏览器中表现有所不同,通常IE6下会比IE7下更为糟糕。
现在已经有了一个较好的解决方案,让jquery.wresize.js这个jquery插件来帮你:
Js代码

/* 
=============================================================================== 
WResize is the jQuery plugin for fixing the IE window resize bug 
............................................................................... 
Copyright 2007 / Andrea Ercolino 
------------------------------------------------------------------------------- 
LICENSE: php">http://www.opensource.org/licenses/mit-license.php 
WEBSITE: http://noteslog.com/ 
=============================================================================== 
*/ 
( function( $ ) 
{ 
$.fn.wresize = function( f ) 
{ 
version = '1.1'; 
wresize = {fired: false, width: 0}; 
function resizeOnce() 
{ 
if ( $.browser.msie ) 
{ 
if ( ! wresize.fired ) 
{ 
wresize.fired = true; 
} 
else 
{ 
var version = parseInt( $.browser.version, 10 ); 
wresize.fired = false; 
if ( version < 7 ) 
{ 
return false; 
} 
else if ( version == 7 ) 
{ 
//a vertical resize is fired once, an horizontal resize twice 
var width = $( window ).width(); 
if ( width != wresize.width ) 
{ 
wresize.width = width; 
return false; 
} 
} 
} 
} 
return true; 
} 
function handleWResize( e ) 
{ 
if ( resizeOnce() ) 
{ 
return f.apply(this, [e]); 
} 
} 
this.each( function() 
{ 
if ( this == window ) 
{ 
$( this ).resize( handleWResize ); 
} 
else 
{ 
$( this ).resize( f ); 
} 
} ); 
return this; 
}; 
} ) ( jQuery );

如何使用,请看这个例子test page
Js代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" style="overflow:hidden;"> 
<head> 
<title> test window resize </title> 
<script type="text/javascript" src=http://www.hake.cc/kf/201109/"http://jquery.com/src/jquery-latest.pack.js"></script> 
<script type="text/javascript" src=http://www.hake.cc/kf/201109/"jquery.wresize.js"></script> 
<script type="text/javascript"> 
jQuery( function( $ ) 
{ 
function content_resize() 
{ 
var w = $( window ); 
var H = w.height(); 
var W = w.width(); 
$( '#content' ).css( {width: W-20, height: H-20} ); 
} 
$( window ).wresize( content_resize ); 
content_resize(); 
} ); 
</script> 
</head> 
<body> 
<div id="content" style="border: 1px dashed silver; position:absolute; overflow:auto;"> 
test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test 
</div> 
</body> 
</html>
Javascript 相关文章推荐
打开超链需要“确认”对话框的方法
Mar 08 Javascript
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
jquery实现一个简单好用的弹出框
Sep 26 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
JavaScript学习笔记之数组的增、删、改、查
Mar 23 Javascript
JS实现间歇滚动的运动效果实例
Dec 22 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 Javascript
Openlayers测量距离与面积的实现方法
Sep 25 Javascript
什么是json和jsonp,jQuery json实例详详细说明
Dec 11 #Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
Dec 11 #Javascript
javascript中window.event事件用法详解
Dec 11 #Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 #Javascript
js控制CSS样式属性语法对照表
Dec 11 #Javascript
javascript向flash swf文件传递参数值注意细节
Dec 11 #Javascript
ajax的hide隐藏问题解决方法
Dec 11 #Javascript
You might like
Laravel手动分页实现方法详解
2016/10/09 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
js function使用心得
2010/05/10 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
Python生成随机密码
2015/03/10 Python
python实现的jpg格式图片修复代码
2015/04/21 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
Python做文本按行去重的实现方法
2016/10/19 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
Python3 修改默认环境的方法
2019/02/16 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
社区活动邀请函范文
2014/01/29 职场文书
安全检查管理制度
2014/02/02 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
生产车间管理制度
2015/08/04 职场文书