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 CSS菜单功能 改进版
Dec 20 Javascript
jquery常用方法及使用示例汇总
Nov 08 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
Oct 23 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
jQuery zTree加载树形菜单功能
Feb 25 Javascript
JS 终止执行的实现方法
Nov 24 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
Dec 08 Javascript
js实现移动端导航点击自动滑动效果
Jul 18 Javascript
JavaScript递归算法生成树形菜单
Aug 15 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
Oct 11 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
Nov 05 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
JSON在PHP中的应用介绍
2012/09/08 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
python实现杨辉三角思路
2017/07/14 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
python manage.py runserver流程解析
2019/11/08 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
大专毕业生自我评价分享
2013/11/10 职场文书
土木工程毕业生自荐信
2013/11/12 职场文书
教师党员思想汇报
2014/01/06 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
大学生求职意向书
2015/05/11 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
工作会议简报
2015/07/20 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
python异常中else的实例用法
2021/06/15 Python
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL