js手动触发窗口resize事件

手动触发resize事件:
        function doResize(){
            setTimeout(function(){
                //手动触发窗口resize事件
                if(document.createEvent) {
                    var event = document.createEvent("HTMLEvents");
                    event.initEvent("resize", true, true);
                    window.dispatchEvent(event);
                } else if(document.createEventObject) {
                    window.fireEvent("onresize");
                }
            },100);
        }
需要调用时:
        $scope.setLiActive = function($event,areaName) {
                doResize();
        }
增加resize监听事件(局部demo):
                window.removeEventListener("resize",resizeReport,false);
                resizeReport();
                window.addEventListener("resize",resizeReport,false);
                function resizeReport() {
                    $(window).resize(function(){
                        console.log('---------------------------------------------');
                        var headerContainer = document.getElementById('zhijia-header') - 30;
                        var winHeight = $(window).height();//浏览器当前窗口可视区域高度
                        var currentActiveNum = $scope.currentActiveNum;
                        var bcs = 0;
                        bcs = Math.ceil(currentActiveNum/2);//几行
                        bcs = bcs > 2 ? 2 : bcs;//bcs每个图表之间的margin
                        var eHeight = (winHeight - (72+62+20+21*bcs)) / (bcs <= 0 ? 1 : bcs) ;
                        for(var i=0;i<currentDatas.length;i++){
                            if(currentDatas[i]['active']){
                                var id = 'zhijia_'+$scope.echartObj[tabIndex0]+'_'+currentDatas[i]['id'];
                                var div = document.getElementById(id);
                                div['style']['height'] = eHeight + 'px';
                                if(currentActiveNum == 1){
                                    div['style']['width'] = headerContainer.clientWidth + 'px';
                                }
                            }
                        }
                    });
                }

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,259评论 1 11
  • 本节介绍各种常见的浏览器事件。 鼠标事件 鼠标事件指与鼠标相关的事件,主要有以下一些。 click 事件,dblc...
    许先生__阅读 1,784评论 0 4
  • 资源事件 beforeunload 事件 beforeunload事件在窗口、文档、各种资源将要卸载前触发。它可以...
    oWSQo阅读 385评论 0 1
  • JavaScript 与 HTML 之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬...
    LemonnYan阅读 497评论 0 4
  • 1. Vue 实例 1.1 创建一个Vue实例 一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实...
    王童孟阅读 714评论 0 2
  • 生活在这个世界,我们在不同的年龄、不同的人生阶段,有着不相同的状态与心理变化,这些状态和心理变化,会左右我...
    舒心主儿阅读 341评论 0 2
  • 日更打卡的第十一天。 今天回家了,因为天气太冷了,衣服没拿。跟妈妈打了一个电话说是要回去,还好家里离的近。 之前的...
    柒柒柒漓阅读 144评论 0 0
  • 嘉禾因惊吓过度而发烧,穆尘和嘉禾的爸爸请了镇医院的田医生过来给嘉禾看病。田医生嘉禾奶奶的远方亲戚,他还没有进门就听...
    疏影梅花阅读 264评论 7 12
  • 最近,我在美食的路上越走越远,也可以说是在发胖的路上迷失了方向。虽然,我变胖了,但是给大家分享更多美食,我很快乐,...
    StubbornAshin阅读 149评论 0 0