由于scrollHeight和scrollWidth设置为0,Jquery jScrollPane初始化问题

时间:2012-06-19 18:13:47

标签: jquery jscrollpane

我有3个不同的div,都是AJAX填充的。无论我尝试过什么渲染顺序,jScrollpane都无法在我的div中工作。

经过一些调试后,我发现问题在于这个特定的行contentHeight = pane[0].scrollHeight;,其中scrollHeight&宽度总是低于完整代码段

            pane.css('overflow', 'auto');
            if (s.contentWidth) {
                contentWidth = s.contentWidth;
            } else {
                contentWidth = pane[0].scrollWidth;
            }
            contentHeight = pane[0].scrollHeight;
            pane.css('overflow', '');

            percentInViewH = contentWidth / paneWidth;
            percentInViewV = contentHeight / paneHeight;
            isScrollableV = percentInViewV > 1;

            isScrollableH = percentInViewH > 1;

            if (!(isScrollableH || isScrollableV)) {
              elem.removeClass('jspScrollable');
                pane.css({
                    top: 0,
                    width: container.width() - originalPaddingTotalWidth
                });
                removeMousewheel();
                removeFocusHandler();
                removeKeyboardNav();
                removeClickOnTrack();

pane是一个新创建的jsPane,附加到原始元素

pane = $('<div class="jspPane" />').css('padding', originalPadding).append(elem.children());
                    container = $('<div class="jspContainer" />')
                        .css({
                            'width': paneWidth + 'px',
                            'height': paneHeight + 'px'
                        }
                    ).append(pane).appendTo(elem);

为什么scrollHeight对于这个特殊的div总是0?另外2个div是顶级(只有body是父级),但有问题的div非常深。在此之上有4个父div。我怀疑问题是由于任何父div中的一些高度设置。但无法弄清楚在哪里?

0 个答案:

没有答案