0

私の Web サイトには jCarouselLite プラグインがあります。jquery.load 関数から li をロードしています。カルーセルを垂直に循環し、最初のアイテムが一番上に戻ってきたらすぐにトリガーする機能を持っています。

この時点で、別の ajax.load でデータを更新したいと思います。ここで問題が発生します。そのデータが再ロードされると、カルーセルは回転を停止します (または、バックグラウンドで実行されます)。

私が試した解決策の 1 つは、別のカルーセルでカルーセルを元に戻すことです。

$("#tableapp").jCarouselLite({})

ライン。これにより、2 つのカルーセルが同時に実行されるようです。そして、3 番目、4 番目、というように続きます。

基本的に、カルーセルをクリアし、更新されたデータをリロードしてから、もう一度実行する方法を探しています。何か案は?

    $(document).ready(function () {
            updateConsole()    //Gets new data
            scrollWindow()     //Starts carousell
    });

    function updateConsole() {
         $('#tableapp').load('AjaxPages/ApplicationMonitor.aspx #application');
     }

    function scrollwindow() {
       $("#tableapp").jCarouselLite({
            vertical: true,
            hoverPause: true,
            visible: 4,
            auto: 6000,
            speed: 500,
            scroll: 4,
            circular: true,
            afterEnd: function (a) { ScrollEnd(a); }
        });
    };

    function ScrollEnd(a) {
        $('#tbDebug').val($('#tbDebug').val() + '\nScroll Ends');

        if (**code that determines slide 1 is back on top**) {
            updateConsoles();
            scrollWindow(); //If this code is commented, the carousel stops cycling.
                            //If it isn't commented, two carousels start and things
                            //get buggy and eventually freezes.
        }
    }

私はjavascript、jqueryなどにかなり慣れていません.jCarousel(ライトではない)でもこれを試しましたが、垂直スクロールでは機能しませんでした。バギーだったようです。

4

1 に答える 1

0

これは特に考え抜かれた提案ではありません:

ScrollEndを実行するときは、そのdivを削除します。 http://api.jquery.com/remove/ 次に、それを再作成し、ロードをダンプします。 jQueryでdiv要素を作成する

それはそれをだまして機能させますか?

于 2012-03-06T21:26:55.923 に答える