关于window的resize事件

也许你也遇到过这样的问题,或者还没注意到有过这样的问题,如下代码,在窗口发生变化时,会进入死循环:

var _funResize = function(){
    console.log(‘resize...‘ + Math.random());
}
$(window).bind(‘resize‘,_funResize);

是问题,总得研究解决,方案:

var _funResize = function(){
    // 先解除绑定
    $(window).unbind(‘resize‘,_funResize);

    console.log(‘resize...‘ + Math.random());

    // 重新绑定
    setTimeout(function(){
        $(window).bind(‘resize‘,_funResize);
    },10);
}
$(window).bind(‘resize‘,_funResize);

但是这种方法只能是触发第一次resize事件,有时我们是想触发最后一次resize事件。可以通过时间来判断

        var rtime = new Date();
        var timeout = false;
        var delta = 200;
        $(window).resize(function() {
            rtime = new Date();
            if (timeout === false) {
                timeout = true;
                setTimeout(resizeend, delta);
            }
        });

        function resizeend() {
            if (new Date() - rtime < delta) {
                setTimeout(resizeend, delta);
            } else {
                timeout = false;
                alert($(window).height());
            }
        }
时间: 2024-11-06 14:39:19

关于window的resize事件的相关文章

layui弹出层layer过大被遮挡解决办法-resize事件自动调整

遇到的问题 ??最近在使用layui做一个管理系统,由于前端技术有限,在开发过程中也遇到这样那样的问题,即比较简单的问题有时也要搞半天..??layer弹出窗口在弹出时指定了area,弹出后,如果当前页面(iframe)大小比弹出的窗口小,那么就会出现无法操作弹出窗口的尴尬情况.查看官方文档以及搜索引擎,都没有找到好的办法.如图所示: 弹出窗口比当前页面大 ??这时,唯有放大整个页面才能看到完全的弹出窗口,才可以操作. 我的尝试 ??我的思路时通过监听页面的resize事件,通过layer.st

关于window.open窗口的resize事件

jQuery 事件 - resize() 方法 当调整浏览器窗口的大小时,发生 resize 事件. resize() 方法触发 resize 事件,或规定当发生 resize 事件时运行的函数. <style> .txt{ width:100px; height:100px; border:1px solid #333; } </style> <span class="txt" ></span > var x=0; $(window).

vue 中监听窗口发生变化,触发监听事件, window.onresize &amp;&amp; window.addEventListener(&#39;resize&#39;,fn) ,window.onresize无效的处理方式

1 // 开始这样写,不执行 2 window.onresize = function() { 3 console.log('窗口发生变化') 4 } 5 6 7 // 改成window监听事件 8 window.addEventListener('resize', function() { 9 console.log('窗口发生变化') 10 }) onresize的定义方式 一.直接在html中定义 如<body onresize="doResize()"/> 二.直接

跨浏览器resize事件分析

resize事件 原生事件分析 window一次resize事件: IE7 触发3次, IE8 触发2次, IE9 触发1次, IE10 触发1次 Chrome 触发1次 FF 触发2次 Opera 触发1次 Safari 触发1次 场景分析 window resize时,部分组件需要重置大小(一次):部分组件不需要重置大小: 开源库分析 jquery-resize 优点:使用简便 $('#div1').on('resize', function (e) { console.log('[div1

jquery resize事件增强版

/* * jQuery resize event - v1.1 - 3/14/2010 * http://benalman.com/projects/jquery-resize-plugin/ * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ */ (function($,h,c){v

window属性、事件、方法一览

记录这个表格,是之前多次碰到一些不熟悉,或者从未使用过的事件来处理一些棘手问题时,总以为是新的浏览器特性,其实在一些老旧浏览器上,或者window上已经本身提供了一些事件绑定或者方法的调用. 最近正好在重写sugget/autocomplete的组件,一直以来比较棘手的问题解决是当鼠标焦点离开<input>时,而刚好在suggest的列表浮层上触发click时,处理显得比较麻烦,以前较为常规的解决方案是采用delay这种方式来延迟事件上下文的处理,往往在定义delayTime的时候比较折腾,需

用window的onload事件,窗体加载完毕的时候

1 <script type="text/javascript"> 2 //用window的onload事件,窗体加载完毕的时候 3 window.onload=function(){ 4 $(".views_core_hidden").attr("value",0); 5 } 6 </script>

动态高度计算 height window.addEventListener(&#39;resize&#39;, () =&gt; {

created() { window.addEventListener('resize', () => { this.helpHeight = window.innerHeight - 90 }) }, 动态高度计算 height window.addEventListener('resize', () => { 原文地址:https://www.cnblogs.com/pengchenggang/p/11140627.html

解决Firefox不响应window.resize事件