JQuery Nicescroll

Я использую плагин nicescroll. http://areaaperta.com/nicescroll/

У меня есть только небольшое сомнение. Когда страница загружена, я вижу в браузере мою полосу прокрутки по умолчанию, а затем показанную полосу прокрутки nicescroll. Я хочу применить полосу прокрутки nicescroll ко всему документу, и у меня есть следующий код

var nice = $("body").niceScroll({
        preservenativescrolling: false,
        cursorwidth: '8px',
        cursorborder: 'none',
        cursorborderradius:'0px',
        cursorcolor:"#39CCDB",
        autohidemode: false, 
        background:"#999999"
     });

Если я установлю для autohidemode значение true, я не вижу полосу прокрутки по умолчанию в браузере. Но я хочу сделать полосу прокрутки nicescroll всегда видимой.

Кто-нибудь знает, почему это происходит?? Спасибо

3 ответа

Может быть, это может помочь вам. Меня устраивает.

<script id="twitter-wjs" src="../js/widgets.js"></script>
<script src="../js/jquery.min.js"></script>
<script src="../js/jquery.easing.1.3.js"></script>
<script src="../js/jquery.nicescroll.min.js"></script>


<script>

  // Hide Overflow of Body on DOM Ready //
$(document).ready(function(){
    $("body").css("overflow", "hidden");
});

// Show Overflow of Body when Everything has Loaded //
$(window).load(function(){
    $("body").css("overflow", "visible");        
    var nice=$('html').niceScroll({cursorborder:"",cursorcolor:"#333333",cursorwidth:"8px", boxzoom:true, autohidemode:false});

});
</script>

Вот пример того, что вы можете захотеть:

if (jQuery().niceScroll) {
    $("html").niceScroll({
        scrollspeed: 70,
        mousescrollstep: 38,
        cursorwidth: 15,
        cursorborder: 0,
        cursorcolor: '#0C090A',
        cursorborderradius: 0,
        autohidemode: true,
        horizrailenabled: false
    });
}

Моя первая мысль - сделать ваши уроки .nicescroll элементы overflow:hidden; внутри вашего CSS, поэтому полосы прокрутки не появятся,

чем после загрузки вашего документа (предпочтительно в window.load), примените плагин nicescroll и установите ваши элементы в overflow:auto с JQuery, как:

CSS:

.nicescroll{overflow:hidden;}

JQuery:

$(window).load(function(){
   $('.nicescroll').css({overflow:'auto'});
});

Я думаю, что в вашем случае вам нужно добавить идентификатор или класс (как в моем примере) к вашему body элемент.

Хорошо! Вот решение от меня. У меня была такая же проблема. Я применил так много методов, но они мне не помогли. Затем, после нескольких недель поиска, я нашел это решение. Я использую последнюю версию niceScroll v-3.7.6.

HTML: -

<div id="scrollable-div">
  <div class="content"></div>
</div>

CSS: -

/*Adding overflow hidden*/
.scrollable-div{
  overflow: hidden;
}

Да, это так просто. Просто дайте своему прокручиваемому div переполнение: скрыто. Для этого не нужно использовать какой-либо код Javascript.

В вашем случае вы можете просто сделать это:

body{
 overflow: hidden;
}

Другие вопросы по тегам