zoukankan      html  css  js  c++  java
  • 万恶的IE之动态添加DOM节点触发window.resize事件

    今天浪费了快一下午的时间在这上面了......

    因为页面很多UI是绝对定位的,所以当窗口大小改变的时候会使原先的布局混乱,只好在每次window.resize的时候重新布局...

    然后页面有几个事件是动态地增加DOM元素的,比如点击某个层会在底下列出该层详细内容,这样在FF和chrome下没出现问题,但是在IE6-8下每次都重布局了.

    比如我拖动一个层,在拖动过程中层的内容又显示在最底下了,当我放开层的时候这个层就跳回拖动前的位置了...

    起先我还没看出来是重布局了...然后演示了N久,挣扎了N久,终于觉得可能是由于动态增加DOM节点导致触发window.resize而使页面重布局了...

    最后我不由地在心里喊了句"Thank godness....",还好改变窗口的高度对页面布局没有影响,不然真要麻烦死了...

    1 bindResizeWindow:function(){
    2 var obj = this;
    3 $(window).resize(function(){
    4 var newWidth = $(window).width();
    5 if(newWidth == obj.windowWidth){return;}
    6 obj.initUI();
    7 obj.createUI();
    8 obj.windowWidth = newWidth;
    9 });
    10 },
    只要在绑定方法中判只有宽度改变时才触发重布局事件就行了...

    顺便赞美一下OO,让JS编程也如此清晰,方便...

  • 相关阅读:
    May LeetCoding Challenge3 之 HashMap的使用
    May LeetCoding Challenge2 之 HashSet的使用
    May LeetCoding Challenge1 之 标准二分查找法
    30-Day Leetcoding Challenge Day21
    30-Day Leetcoding Challenge Day19
    30-Day Leetcoding Challenge Day18
    ALV 单元格编辑回车响应
    ALV模版1
    web dynpro 开发配置
    convert fm
  • 原文地址:https://www.cnblogs.com/adaikiss/p/1785404.html
Copyright © 2011-2022 走看看