DivにJqueryNiceスクロールバーを使用していますが、divのコンテンツが動的に増加すると、スクロールバーが表示されません。ニーススクロールを削除すると、Windowsのデフォルトのスクロールバーが正常に機能します。誰かが私がこの問題を解決するのを手伝ってくれる?
HTML
<div id="div-to-scroll">
</div>
脚本
$(document).ready(function(e) {
var Nice = $("#div-to-scroll").getNiceScroll();
$("#div-to-scroll").niceScroll();
$("#div-to-scroll").getNiceScroll().resize();
});
これは私のコードサンプルです。
最後に、これは私のために働きます。
$("#div-to-scroll").scroll(function(){
$("#div-to-scroll").getNiceScroll().resize();
});
私にとっては
$("#div-to-scroll").mouseover(function() {
$("#div-to-scroll").getNiceScroll().resize();
});
更新:新しい関数が見つかりました!
var setScroll = function(i) {
if($(i).length>0)
$(i).niceScroll().updateScrollBar();
}
この関数を呼び出してniceScrollを更新します
setScroll(".classWithNiceScroll");
$("html").mouseover(function() {
$("html").getNiceScroll().resize();
});
スクロールバーを全身に表示するには
いくつかの考えられる理由:
1-divの高さを指定するのを忘れた可能性があります。 divの高さを修正します。
2-また、divの幅がフロートの場合は、その幅も修正します。
DIV STYLEには次のものが必要であることを忘れないでください:overflow-y: hidden;
[〜#〜] update [〜#〜]
下にスクロールするたびにresize()関数を使用してみてください。
$("div-to-scroll").slideDown(function(){
$("div-to-scroll").getNiceScroll().resize();
});
これを行う:
_// Scroll X Axis
$("#mydiv").getNiceScroll()[0].doScrollLeft(x, duration);
// Scroll Y Axis -
$("#mydiv").getNiceScroll()[0].doScrollTop(y, duration);
_
または:
_// Scroll X Axis
$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration);
// Scroll Y Axis -
$("#mydiv").getNiceScroll(0).doScrollTop(y, duration);
_
getNiceScroll()
の後の_[0]
_に注意してください