IE6 IE7上的window.resize bug

     今天在优化页面响应式方面的代码时,遇到了一个window.resize的bug,只在在IE6/7上出现。正常情况下window.resize只会在浏览器窗口发生变化的情况下才会被触发,但在IE6/7上,如果body的宽度和高度发生了变化,也会触发resize事件,对于IE6/7来说,本来就性能不佳的情况下更是雪上加霜。对于我们的页面,由于,在ready完成之后会异步加载CSS,导致ready前后body会发生变化,使得在初始化页面的时候,IE6/7resize事件都会被触发,这是不能接受的。解决方案是将body高度变化触发的事件过滤掉。

var currentWidth = document.body.clientWidth,  
    currentHeight= document.body.clientHeight;
window.onresize = function(){  
    var clientWidth = document.body.clientWidth,  
        clientHeight = document.body.clientHeight;  
    if( clientWidth != currentWidth || clientHeight != currentHeight ) {  
        ...
	currentWidth = clientWidth;
	currentHeight = clientHeight; 
    }  
}; 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值