Tinyscrollbar高度未更新

时间:2016-04-13 13:52:39

标签: jquery tinyscrollbar

我有一个动态设置高度的小部件。但是,当窗口小部件容器的高度更改时,滚动条高度似乎不会更新。当我滚动到小部件的底部时,会出现额外的空白区域。小部件也是响应式的,所以在桌面视图中它位于右侧,而移动视口中则位于底部。

$('.isi-widget').tinyscrollbar({ thumbSize: 50 });

    $('.scrollbar').fadeOut();

    $('.isi-widget').hover(
        function(){
            $('.scrollbar').fadeIn();
        },
        function(){
            $('.scrollbar').fadeOut();
        }
    );

    function pinnedIsi(){
        $('.isi-widget').css({
            height: '200px',
            top: 'inherit'
        });
        $('.isi-toggle-btn').addClass('pinned');
        $('.isi-toggle-btn').removeClass('unpinned');
        $('.isi-toggle-btn').html('+');
    }

    function unpinnedIsi(){
        $('.isi-widget').css({
            height: 'calc(100% - '+ $('header').height() +'px)',
            top: $('header').height() + 'px'
        });
        $('.isi-toggle-btn').addClass('unpinned');
        $('.isi-toggle-btn').removeClass('pinned');
        $('.isi-toggle-btn').html('–'); 
    }

    function sidebarIsi(){
        $('.isi-widget').css({
            height: 'calc(100% - '+ $('header').height() +'px)',
            top: $('header').height() + 'px'
        });
        $('.isi-toggle-btn').removeClass('pinned');
        $('.isi-toggle-btn').removeClass('unpinned');
    }

    $('.isi-toggle-btn').click(function(){
        if ($('.isi-toggle-btn').hasClass('unpinned')){
            console.log('pin');
            pinnedIsi();
        } else {
            console.log('unpin');
            unpinnedIsi();
        }
    });

    function toggleIsi(){

        if ($(window).width() <= 1023) {
            pinnedIsi();
        } else {
            sidebarIsi();
        }
    }

    toggleIsi();

    $(window).resize(function(){
        toggleIsi();
    });

1 个答案:

答案 0 :(得分:0)

更改高度后,您应该在tinyscrollbar实例上调用update方法。