私はJScrollを利用するjsファイルに取り組んでいます。jsp-scroll-y
イベントのコールバックは、次の関数で定義されています
function initWall() {
//callback from jqueryscrollpane
Scroll_TimeLine_Instance = function (event, scrollPositionY, isAtTop, isAtBottom){
//get more content
if (isAtBottom) {
GetMoreDate(objid, vwrsid, secid, orgid, incflwr, qty, mintlid, maxtlid, successGetTimeLineCallback, failureGetTimeLineCallback);
}
}();
}
このコールバックを jsScroll にバインドする別の関数が定義されています。
function reapplyScroll() {
Utilities.DestroyScrollBar($(_target).closest('.widgetBody'));
Utilities.ApplyScrollBar($(_target).closest('.widgetBody'), false, Scroll_TimeLine_Instance);
}
Utilities.ApplyScrollBar = function (element, showScrollBar, scrollCallback) {
$(element).jScrollPane({
horizontalGutter: 5,
verticalGutter: 5,
'showArrows': false
}).bind('jsp-scroll-y', scrollCallback);
if (!showScrollBar) {
$(element).find('.jspDrag').hide();
}
}
コールバックは呼び出されませんでした。これは未定義であることが原因であることがわかりました。()を削除するとImmediate object initialization
; 関数の作成後から、すべて正常に動作します。
誰でもこれを説明できますか?とにかくすぐに呼び出された理由がわからないので、これは作成者のエラーであると思います。なぜこの変数が未定義になるのかわかりませんか?