`

IE6下 onresize()函数 会死循环 页面会卡死的问题

 
阅读更多
   
 /**  resizeWin是你自己要执行的函数。
         * IE下 window.onresize 有bug 可以使用debounce封装监听函数
         * see http://blog.csdn.net/fudesign2008/article/details/7035537
         * @author FuDesign2008@163.com
         * @date   2011-11-30
         * @time   下午04:02:55
         */

        /**
         *
         * @param {Function} callback 回调函数
         * @param {Integer} delay   延迟时间,单位为毫秒(ms),默认150
         * @param {Object} context  上下文,即this关键字指向的对象,默认为null
         * @return {Function}
         */
        function debounce(callback, delay, context) {
            if (typeof(callback) !== "function") {
                return false;
            }
            delay = delay || 150;
            context = context || null;
            var timeout;
            var runIt = function () {
                callback.apply(context);
            };
            return (function () {
                window.clearTimeout(timeout);
                timeout = window.setTimeout(runIt, delay);
            });
        }
        var winResizeHandler = function (event) {
            console.log("window resized");
        };

        window.onresize = debounce(resizeWin, 300);

 

分享到:
评论

相关推荐

    IE下[removed] 多次调用与死循环bug处理方法介绍

    [removed] 在IE浏览器下有多次被执行甚至死循环的bug,会导致浏览器卡死 解决方案: 代码如下:// IE浏览器下将onresize事件放在div上if(navigator.userAgent && navigator.userAgent.toLowerCase().indexOf(“msie”...

    [JavaScript]解决页面onresize缩放时多次调用的问题.doc

    针对IE6和IE7的假死问题,一种更有效的方法是利用一个隐藏的、占据整个窗口的div元素来监听resize事件。当浏览器窗口尺寸改变时,这个div元素的resize事件也会被触发,但不会像直接绑定到window对象那样频繁。以下是...

    浅谈javascript属性onresize

    前者是将findDimensions函数对象直接赋给window.onresize,意味着在窗口尺寸变化时会调用findDimensions函数;而后者则是调用findDimensions函数,并将返回值(如果有的话)赋给window.onresize,这通常不是我们想要...

    div.onresize无效解决方案

    火狐下resize无效解决方案,解决火狐下资源resize事件无效问题方法

    JS鼠标键盘触发函数大全

    ### JS鼠标键盘触发函数大全知识点解析 #### 一、鼠标事件 鼠标事件是JavaScript中最常见的交互方式之一,它们主要用于响应用户的鼠标操作。 - **`onClick`**:当用户单击鼠标左键时触发。该事件通常用于处理点击...

    【JavaScript源代码】vue使用echarts图表自适应的几种解决方案.docx

    此外,当路由跳转到新页面时,旧页面的resize事件仍然生效,可能导致性能问题。 2. **使用`window.addEventListener('resize', sizeFun)`** 这种方式可以避免事件覆盖,通过添加事件监听器来实现。代码示例如下: ...

    vue终极解决多个页面Echart随页面窗口大小而改变图形大小方法

    但是,当一个页面上有多个ECharts图表时,这种方法可能会导致只有最后一个注册的`onresize`事件的图表能够正确响应窗口大小变化。这是因为`onresize`事件会被覆盖,所以其他图表的`resize()`方法不会被调用。为了...

    浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法

    方法一:在标签上加入 onLoad=”” onResize=”” 方法 写上对应的方法即可方法二:[removed]=function(){///…..} 在方法里面写上对应的代码即可着两种方法基本都可以解决你的问题了 代码如下: [removed]=...

    函数曲线代码

    6. **优化**:对于复杂函数,可能需要使用数值方法如二分法或牛顿法来求解y值,因为VB可能不支持符号计算。此外,为了得到平滑的曲线,可能需要使用插值算法,如样条插值。 7. **颜色和样式**:可以添加颜色和线条...

    js方法和函数.doc

    - `onmousedown`、`onmouseup`:鼠标按钮按下和释放时触发。 - `onmouseout`、`onmouseover`:鼠标离开和进入元素区域时触发。 - `onreset`:表单重置时触发。 - `onresize`:窗口尺寸改变时触发。 - `onsubmit`:...

    利用onresize使得div可以随着屏幕大小而自适应的代码

    `onload`事件会在页面完全加载后触发,而`onresize`则会在浏览器窗口大小改变时触发。 ```html <body bgcolor="#666666" onresize="test()" onload="getwah()"> ``` 3. 编写`getwah()`函数,用于获取屏幕宽度和div...

    微信小程序注册页面.pdf

    9. **页面尺寸变化与滚动事件**:`onResize` 和 `onPageScroll` 分别处理页面尺寸变化和页面滚动时的逻辑,比如动态调整布局或加载滚动内容。 通过理解并熟练运用这些知识点,开发者可以有效地构建和管理微信小程序...

    IE6中使用position导致页面变形的解决方案(js代码)

    然而,在Internet Explorer 6 (IE6) 这个古老的浏览器版本中,使用`position`属性时常会导致页面变形,给用户带来不愉快的浏览体验。本篇文章将详细介绍这个问题以及如何通过JavaScript来解决。 问题根源: 在IE6中...

    javascript 蛋糕商城 静态页面

    javascript 蛋糕商城 静态页面 1. 购物车 (1) 商品数量增加减少。会对应修改该商品的价格(单价*数量) (2) 选择商品会修改订单总金额。选择的商品价格相加 (3) 删除时会寻找该商品的节点进行删除 (4) 点击多选会...

    ie6 fixed bug的解决方法 (css+js)

    尽管这种方法在大多数情况下都能工作,但还存在一个问题:在IE6中,当用户快速滚动时,元素可能会闪烁。为了解决这个问题,可以使用CSS表达式(_expression_),这是IE6特有的一个特性: ```css #topNav { ...

    【 Delphi 7_0常用函数速查手册】.rar_常用函数

    总之,《Delphi 7_0常用函数速查手册》是开发人员在使用Delphi进行程序设计时不可或缺的工具,它能帮助开发者快速定位和理解函数功能,提高编程效率,解决实际问题。通过深入学习和实践,开发者可以更好地掌握Delphi...

    JS固定表头和左边列V2.0(源码)

    1.1 修正了对IE6、IE7的兼容问题 1.2 修正了固定行、列的样式问题 1.3 IE6/IE7浏览器 不启用该功能 1.4 增加了拆分线, 修正了重复生成锁定行列的问题以及生成错位的问题, 修正了行、列事件无法复制的问题, ...

    一文看懂如何简单实现节流函数和防抖函数

    它们通常用于控制事件处理函数的执行频率,比如减少因事件频繁触发而造成的性能问题。 节流函数(Throttle)的核心思想是限制函数的执行频率,它允许函数在一定的时间间隔内执行一次,无论在这段时间内触发了多少次...

    js事件模型

    在默认情况下,如果为同一个事件分配了多个函数,后面的函数会覆盖前面的函数。解决这个问题的一种方法是合并所有函数到一个单一的事件处理函数中,但这限制了动态添加新函数的能力,并可能导致this指针指向window而...

Global site tag (gtag.js) - Google Analytics