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 Undefined,Null类型和NaN值区别
Oct 22 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
jQuery AjaxUpload 上传图片代码
Feb 02 Javascript
jQuery中选择器的基础使用教程
May 23 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 Javascript
微信小程序 登录实例详解
Jan 16 Javascript
javaScript中封装的各种写法示例(推荐)
Jul 03 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
Oct 30 Javascript
原生JS实现的跳一跳小游戏完整实例
Jan 27 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
解决vue-router 二级导航默认选中某一选项的问题
Nov 01 Javascript
JavaScript实现五子棋小游戏
Oct 26 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
mysql中存储过程、函数的一些问题
2007/02/14 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
php生成zip文件类实例
2015/04/07 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
详解php命令注入攻击
2019/04/06 PHP
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
python之array赋值技巧分享
2019/11/28 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
python中yield的用法详解
2021/01/13 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
商务会议邀请函
2014/01/09 职场文书
晚会邀请函范文
2014/01/24 职场文书
初中美术教学反思
2014/01/29 职场文书
三年级评语大全
2014/04/23 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
导游词之北京明十三陵
2019/10/28 职场文书