JS Scrollpaneと呼ばれるjQuery用のカスタムスクロールバーライブラリを使用していますが、すでにスクロールバーを持つDIVにスクロールバーを適用しようとすると予期しない結果になります。だから私がチェックしたいのは、クラス ".jspScrollable"が適用されているかどうかです。もしそうなら、スクロールを適用しないでください。十分に簡単ですね。jQuery .hasClassと動的に追加されたクラス
".jspScrollable"クラスはスクリプトによって動的に追加され、jQueryのhasClassメソッドは動的ではなく静的なので、新しいクラスが追加されていないようです。ダイナミッククラスが要素に追加されたときに確認できる方法はありますか?
pageEls.bigcol行は気にしないでください。それはちょっとオブジェクトです。私のコードを最適化するためにセレクタをすべて保存しています。現在、サイトには約4000行のJSがあります。
ここに私のコードはこれまでです:
function initScrollers()
{
pageEls.bigcol = $(".bigcol").filter(':visible');
var settings = {
animateScroll: true,
autoReinitialise: true,
hideFocus: true,
verticalGutter: 15
};
if (pageEls.bigcol.length && !pageEls.bigcol.hasClass('noScroller'))
{
if (!pageEls.bigcol.hasClass('.jspScrollable'))
{
if (pageEls.bigcol.height() > 290)
{
pageEls.bigcol.jScrollPane(settings);
}
}
}
}