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 相关文章推荐
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
Apr 14 Javascript
JS编程小常识很有用
Nov 26 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
javascript获取web应用根目录的方法
Feb 12 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
javascript常用的方法整理
Aug 20 Javascript
Js 获取当前函数参数对象的实现代码
Jun 20 Javascript
再次谈论Javascript中的this
Jun 23 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
jquery网页加载进度条的实现
Jun 01 jQuery
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
微信小程序学习之自定义滚动弹窗
Dec 20 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代码(星期六,星期日总和)
2009/11/12 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
PHP.vs.JAVA
2016/04/29 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
Python迭代器和生成器定义与用法示例
2018/02/10 Python
Python continue继续循环用法总结
2018/06/10 Python
详解Python if-elif-else知识点
2018/06/11 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
市场安全管理制度
2014/01/26 职场文书
21岁生日感言
2014/02/27 职场文书
中职生求职信
2014/07/01 职场文书
2014和解协议书范文
2014/09/15 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
教育教学工作反思
2016/02/24 职场文书
教师师德承诺书2016
2016/03/25 职场文书
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫