窗口大小调整时的重置功能

时间:2011-11-21 15:55:00

标签: jquery restart

我正在为我的网站使用SlimScroll插件。

我想在窗口调整大小时重置/重新启动slimscroll函数,因为高度和宽度应根据#content_wrapper div的高度和宽度进行更改。

我通过几种方式尝试过,但似乎没有什么可以做到的。在我当前的代码下面。有谁知道我怎么能做到这一点?

$('#content_wrapper').slimScroll({
    width: $('#content_wrapper').css({'width':(($(window).width())-240)+'px'}),
    height: $('#content_wrapper').css({'height':(($(window).height())-65)+'px'})
});

// scrollbar onresize resetten
$(window).resize(function(){    
    $('#content_wrapper').slimScroll({
        width: $('#content_wrapper').css({'width':(($(window).width())-240)+'px'}),
        height: $('#content_wrapper').css({'height':(($(window).height())-65)+'px'})
    });
});

4 个答案:

答案 0 :(得分:7)

今天刚遇到这个问题,这对我有用: 在初始化slimScroll时,它会添加一个带有“slimScrollDiv”类的div。您可以更改此div的高度并将其设置为与包装div相同...

  $(document).ready(function(){
    $('#scrollDiv').slimScroll({
      height: 'auto'
    });

    $(window).resize(function(){
      var h=$(window).height()-250;
      $('#scrollDiv').height(h);
      $('.slimScrollDiv').height(h);
    });
  });

答案 1 :(得分:2)

对于0.5.0版,请替换以下内容:

// set up initial height
getBarHeight();

使用:

$(window).resize(function() {
     getBarHeight();
     showBar();
});

我在http://dt.infolearn.com.gr/2012/03/jquery-slimscroll-refresh-on-window-resize/找到了这个,这对我有用。

答案 2 :(得分:1)

我理解这个问题很早就被问到了,但是我遇到了同样的问题并找到了一些解决方法,这是我遇到的问题的解决方案。

// Resetting slim scroll
function applySlimScroll(){
    $('#content_wrapper').slimScroll({
        width: $('#content_wrapper').css({'width':(($(window).width())-240)+'px'}),
        height: $('#content_wrapper').css({'height':(($(window).height())-65)+'px'})
    });
}

// Resetting slim scroll
function resetSlimScrollLessonSlide(){
    $('.slimScrollDiv #content_wrapper').unwrap();
    $('.slimScrollBar, .slimScrollRail').remove();
}

// Let the resize event interval be larger, so resized in 500ms!
function resizedw(){
    resetSlimScrollLessonSlide();
    applySlimScroll()
}

var doit;
$(window).resize(function () {
    clearTimeout(doit);
    doit = setTimeout(resizedw, 500);
});

答案 3 :(得分:0)

也许:

$('#content_wrapper').slimScroll({
    width: (($(window).width())-240)+'px',
    height: (($(window).height())-65)+'px'
});

// scrollbar onresize resetten
$(window).resize(function(){    
    $('#content_wrapper').slimScroll({
        width: (($(window).width())-240)+'px',
        height: (($(window).height())-65)+'px'
    });
});