如何在ace主题上重置滚动条?

时间:2016-03-24 20:48:42

标签: javascript jquery

Ace Theme v1.3.4上的文件elements.scroller.js上有以下注释代码。

$('.ace-scroll').scroller('reset');

在firebug控制台上执行上述行时,会出现以下错误。

scroller is not a function...

我是否遗漏了页面上未包含的任何javascript文件?包含scroller()函数。

1 个答案:

答案 0 :(得分:1)

在我的头脑中摔了2天后找到了解决方案。

$('.sidebar[data-sidebar-scroll=true]').each(function() {
    var $this = $(this);
    if( $this.attr('data-sidebar-hover') == 'true' ) 
        $this.ace_sidebar_hover('reset');
    var sidebar_scroll = $(this).ace_sidebar_scroll('ref');
    var is_element_pos = 'getComputedStyle' in window ?
        function(el, pos) { el.offsetHeight; return window.getComputedStyle(el).position == pos }
        :
        function(el, pos) { el.offsetHeight; return $(el).css('position') == pos }                                  
    var sidebar_fixed = is_element_pos(this, 'fixed')
    sidebar_scroll.set('sidebar_fixed', sidebar_fixed);
    sidebar_scroll._reset();
});

以上代码段会重置滚动窗口高度。