0

私はこのコードを終了しましたが、私がしなければならない最後のことで立ち往生しています.アイテムが追加されると、それは自動的に一番下にスクロールします.スクロールバーの使用をやめるまで、スクロールバーが一番下にジャンプするのを止めたいです。

スクロールバーをクリックして上にドラッグすると、新しいアイテムが追加されたときにジャンプダウンし続ける場合に提供されている例に表示されます。スクロールバーの使用を停止するまで一時停止する必要があります。

api.scrollToBottom(); を使用します。新しいアイテムが追加されたら一番下までスクロールしますが、これは正しいですが、マウスオーバーなどの条件が不明です...それらが条件のときにそれを停止します。

誰かがこれについて私を助けてくれることを願っています。:)

JSFiddle はこちら: http://jsfiddle.net/GT7sV/2/

JS

var settings = {
        showArrows: true,
        verticalArrowPositions: 'os',
        horizontalArrowPositions: 'os',
        animateScroll: true
    };
    var pane = jQuery('.scroll-pane');
    pane.jScrollPane(settings);
    var api = pane.data('jsp');
    var i = 1;

    api.scrollToBottom();

    setInterval(
        function()
        {
            api.getContentPane().append("<li>testing this new item</li>").children(':last').hide().fadeIn(1000);
            api.reinitialise();
            api.scrollToBottom();
        },
        1000
    );

});

ありがとう!

4

1 に答える 1

0

これで大丈夫かどうかはわかりませんが、別の方向で試すことができます。ユーザーが一番下までスクロールすると、新しい行をロードできます。

conversationHeadersScrollPane = $('.scroll-pane').bind(
        'jsp-scroll-y',
        function(event, scrollPositionY, isAtTop, isAtBottom) {
            if (isAtBottom) {
                //add new rows for example with ajax call
            }
});

編集: 関数 getPercentScrolledY() があるため、scrollToBottom を呼び出す前に、ユーザーがたとえば 90% 以下かどうかを確認できます。

于 2013-12-25T19:29:16.870 に答える