Ссылка / область объекта, созданная в ответе Ajax - PullRequest
0 голосов
/ 27 декабря 2011

Я часами безуспешно пытался, поэтому подумал, что должен спросить (после очистки stackoverflow: S)

Как получить доступ к объекту, созданному в ответе ajax:

    $.ajax({
          type: "GET",
          url: "slideshow.xml", //xml file 
      dataType: "xml",
          success: function(xml) {
            var count = 0; //counter
              $(xml).find('site').each(function() {
                var url = $(this).find('url').text(); //url 
                var imageURL = $(this).find('imageURL').text(); 
                myArray[parseInt(count)] = new Array(imageURL, url);
                count++;
            });

            var slideshow = new simpleGallery({
                wrapperid: "topbar_scroller_inside",
                dimensions: [815, 264],
                imagearray: myArray,
        autoplay: [false, 30000, 99],
                persist: true,
                fadeduration: 1000
            }); 
    }});

Вопрос в том, как получить доступ к объекту «слайд-шоу», созданному в ответе об успешном выполнении ajax?

Я попытался получить к нему доступ, например:

 <a id="prev" href="javascript:slideshow.navigate('prev')"></a>

однако это не удалось.

Я тоже попробовал это с:

  <a id="next" href="javascript:jQuery.proxy('slideshow', navigate('next'))"></a>

все еще не удалось, и я не совсем уверен, является ли $ .proxy соответствующей функцией здесь.

Пожалуйста, я мог бы использовать вашу помощь.

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Simple. Объявите переменную над вызовом ajax.

var slideshow;

Затем измените функцию успеха на slideshow = ....

Кроме того, вам, вероятно, следует изменить href обоих ваших a элементов на # и использовать привязки jQuery для функции щелчка:

$('a#prev').click(function() {
    slideshow.navigate('prev');
    return false;
});
$('a#next').click(function() {
    slideshow.navigate('next');
    return false;
});
0 голосов
/ 27 декабря 2011

Использование JSON json_decode ().Это довольно просто.Он анализирует ваши js-переменные в php-переменных.Проверьте это здесь: http://www.php.net/manual/en/function.json-decode.php

...