1

このコードを実行して xml データをテーブルにロードしましたが、データがロードされた後、スクロールバーをリロードできないようです。$('.scroll-pane').jScrollPane();Firebugで手動で実行しても、何も機能しません。

コードは次のとおりです。

$("#MenuList").html('<div class=\"menu-activity\">Please Wait</div>');
$.blockUI();

           $.get('venuesxml.php', function (data) {

                $('#MenuList').html("<div class=\"menu-activity\">Showing activity for 13.10.2012</div>");

                $(data).find('marker').each(function () {

                    $('#MenuList').append("<div class='menu-item-red'><div class='typename'>Event</div><div class='eventname'>" +

                    $(this).attr('id') + "</div><div class='venuename'>" +

                    $(this).attr('venue_type') + "</div></div>");

                });

            });

            $.unblockUI();
            $('.scroll-pane').jScrollPane();

これがライブデモです。「SEARCH」をクリックしてコードを実行します。

4

3 に答える 3

1

通常、JSP で reinitialise() を呼び出して、動的に配置されたデータを認識させる必要があります... AJAX 呼び出しの後など。ここでタイミングの問題が発生する可能性があるようです..

 var api = $('.scroll-pane').data('jsp');
 api.reinitialise();

または、reinit を呼び出す単純な JS タイマーである autoReinitialise を使用することもできます。

あなたはこれを読みたくなるでしょう。 http://jscrollpane.kelvinluck.com/api.html

于 2012-11-18T19:42:18.017 に答える
1

動的コンテンツを追加した後、プラグインを再初期化する必要があります。

これを試して:

 $(function()
{
    // Initialise the scrollpanes
    $('.scroll-pane').jScrollPane();

    // Add some content to #pane2
    var pane2api = $('#pane2').data('jsp');
    var originalContent = pane2api.getContentPane().html();
    pane2api.getContentPane().html(originalContent + originalContent + originalContent);

    // Reinitialise the #pane2 scrollpane
    pane2api.reinitialise();
});

詳細はこちら

于 2012-11-18T19:42:34.180 に答える