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 相关文章推荐
网页javascript精华代码集
Jan 24 Javascript
让mayfish支持mysqli数据库驱动的实现方法
May 22 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 Javascript
js查错流程归纳
May 04 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
Aug 25 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
Feb 21 Javascript
AngularJS中ng-class用法实例分析
Jul 06 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
Dec 24 Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 Javascript
Windows上node.js的多版本管理工具用法实例分析
Nov 06 Javascript
原生JavaScript实现简单五子棋游戏
Jun 28 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
PHP 一个随机字符串生成代码
2010/05/26 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
浅析python协程相关概念
2018/01/20 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
python集合删除多种方法详解
2020/02/10 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
Python self用法详解
2020/11/28 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
装潢设计专业推荐信模板
2013/11/26 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
Python Numpy之linspace用法说明
2021/04/17 Python
关于Python使用turtle库画任意图的问题
2022/04/01 Python