zoukankan      html  css  js  c++  java
  • easyui layout 收缩的bug

      easyui layout提供collapse方法折叠指定的 panel,'region' 参数可能的值是:'north'、'south'、'east'、'west',但是在 IE6的环境下,调用这个方法的时候,奇怪的事情发生了,里面的内容不见了,变成很大一块空白,这里有一个很戳的解决办法:

      $('#cc').layout('collapse','west');  

      $('#cc').layout(expand','west');  

      $('#cc').layout('collapse','west');  

    -----------------------------------------------------------------华丽丽的分割线-------------------------------------------------------------------------

      数日过后,经高人指点,此bug有了新解决方法:

      jquery.easyui.min.js源码第3888行开始:

     _2b0.north.panel("panel").animate({ top: -_2b0.north.panel("options").height }, function () {
                            _2b0.north.panel("close");
                            _2b0.expandNorth.panel("open").panel("resize", { top: 0, left: 0,  cc.width(), height: 28 });
                            _2b0.north.panel("options").onCollapse.call(_2b0.north);
                        });

      将上面的代码移到_2b0.expandNorth这个属性的判断之后:

     if (!_2b0.expandNorth) {
                            _2b0.expandNorth = _2b1("north");
                            _2b0.expandNorth.panel("panel").click(function () {
                                _2b0.north.panel("open").panel("resize", { top: -_2b0.north.panel("options").height });
                                _2b0.north.panel("panel").animate({ top: 0 },0);
                                return false;
                            });
                        }

      第一段代码中animate函数是jquery中用来实现动画效果的函数,这个函数的最后一个参数是一个回调方法,在这个回调方法中用到_2b0.expandNorth这个对象,这个东西不知道为什么会是undefine,而且每次一旦是undefine的时候,回调方法报错,然后就会出现上面提到的留白效果。所以上面提到的在ie6下会出现这种情况其实是错的,应该说是在比较差的机器上if (!_2b0.expandNorth) 这段代码会晚于回调方法执行,从而导致脚本报错,出现留白效果。

      这个问题当然是我找同事帮忙才发现的,其实要找到解决这个问题并不难,我之所以没能解决首先是对jquery不熟悉,不知道有animate这么一个动画效果的方法。其次是认为人家的框架应该是很健壮的,不可能改的动,说白了就是缺乏自信吧。

      又是一个中秋,桂花香气四溢

  • 相关阅读:
    【面试必备】CSS盒模型的点点滴滴
    2013年终总结——求评点求指导
    【面试必备】javascript的原型和继承
    支持断点续传的文件上传插件——Huploadify-V2.0来了
    【面试必备】javascript操作DOM元素
    走进AngularJs(八) ng的路由机制
    走进AngularJs(七) 过滤器(filter)
    走进AngularJs(六) 服务
    HTML5+flash打造兼容各浏览器的文件上传方案
    免费的HTML5版uploadify送上
  • 原文地址:https://www.cnblogs.com/xienb/p/3273143.html
Copyright © 2011-2022 走看看