Проблема с ajax загруженным контентом в jScrollPane в jQuery - PullRequest
0 голосов
/ 25 сентября 2010

Привет, у меня проблема с jQuery, jScrollPane и загрузкой данных с помощью AJAX.Когда у меня есть статические данные в div, область прокрутки работает нормально, но как только я загружаю данные в AJAX в div, область прокрутки исчезает.

Я знаю, что после этого мне нужно повторно инициализировать область прокрутки, поэтому я делаюэто ... но, вероятно, неправильно, так как он не работает.

Итак, следующий пример работает нормально, когда он загружен, но когда я нажимаю кнопку "Домой", полоса прокрутки исчезает.Есть предложения?

Код:

<html>
<head>
<title>Title of my page</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link type="text/css" href="jquery/jquery.jscrollpane.css" rel="stylesheet" media="all" />
<script src="jquery/jquery-1.4.2.min.js"></script>

<!-- the jScrollPane script -->
<script type="text/javascript" src="jquery/jquery.jscrollpane.min.js"></script></head>
<body style="background-color: black;">
<div style="background-image: url(test.jpg);background-repeat: no-repeat;  width: 1024px; height: 768px; margin-left: auto; margin-right: auto;">
    <div id="menu">
        <script type="text/javascript">
        $(document).ready(function(){

                        reinitialiseScrollPane = function()
            {
                $('#contents').jScrollPane();

            }

            $("#home").click(function(){ $("#contents").load("lorem.php", '', reinitialiseScrollPane); });


                        $("#contents").jScrollPane();   

        });
        </script>
        <a id="home"><span>Home</span></a>

    </div>
    <div id="website">
        <div id="contents" name="contents">

        </div>

    </div>
</div>
</body>

Ответы [ 2 ]

0 голосов
/ 14 октября 2011

Это заняло у меня целую вечность, я собирал воедино различные кусочки, так как большинство примеров используют append.Поздний ответ, который я знаю, но, надеюсь, поможет кому-то

    function loadNews(eid){
        var pane = $('#storyColumnNewsStory').jScrollPane({scrollbarWidth:12, scrollbarMargin:8, autoReinitialise: true});
        var contentPane = pane.data('jsp').getContentPane();
        var jspapi = pane.data('jsp');

        contentPane.load('_news.php', {'eid':eid}, 
            function(){ jspapi.reinitialise(); }
        );
    }


    $(document).ready(function() {
            loadNews(0);
    });
0 голосов
/ 25 ноября 2010

Вам нужно снова загрузить функцию панели прокрутки в ajax, когда вы звоните ему, я думаю ...

...