淘先锋技术网

首页 1 2 3 4 5 6 7

     第一次使用tab加载页面时,由于页面内容是由dataTables负责渲染,tab页的宽度会成为0。这时datables读取它的容器的宽度时获取的值就是0,计算添加了滚动条(宽度为0或者设定值)的table宽度时就会产生负数。IE下赋值异常。

        原代码:

//这时width要赋值为负数
n.style.width = _fnStringToCss($(n).outerWidth()-oSettings.oScroll.iBarWidth );
 

 

       新代码:

               /*
                 * 如果容器($(n))的width为0会造
                 *成$(n).outerWidth()-oSettings.oScroll.iBarWidth的值为负数
                 * 在IE中这种情况下会报错,造成dataTables初始化失败
                 * by apusic
                 */
                if($(n).outerWidth()-oSettings.oScroll.iBarWidth < 0){
                    n.style.width = "0px";
                }else{
                    n.style.width = _fnStringToCss( 
                            $(n).outerWidth()-oSettings.oScroll.iBarWidth );
                }