Добавление вертикальной полосы прокрутки jQuery к динамическому контенту - PullRequest
1 голос
/ 09 декабря 2010

Я занимаюсь разработкой веб-сайта и хочу, чтобы основной div был фиксированной высоты с вертикальной полосой прокрутки jquery для содержимого, которое выходит за пределы этой области. Для этого я использую плагин jScrollPane .

Однако я хочу динамически загружать этот контент из RSS-канала, используя плагин zRSSFeed (я новый пользователь, поэтому не могу публиковать 2 ссылки!).

Для этого мне нужно вызвать функцию rssfeed следующим образом:

$ ("# feed"). Rssfeed (.... URL-адрес канала и параметры);

Затем я хочу применить jScrollPane к элементу div, который динамически создается путем вызова функции rssfeed. Однако каждый раз, когда я пытаюсь найти элемент jQuery, он еще не существует.

Насколько я знаю, rssfeed не включает функцию обратного вызова, которую я мог бы использовать, и я пытался использовать функцию jScrollPane chain после вызова rssfeed, но она тоже не работала.

Есть предложения ??

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

Нужно согласиться с Дэвидом, что это оставляет желать лучшего, но в качестве альтернативы, вы можете просто реализовать обработчик обратного вызова для класса:

Там же, где предложил Дэвид, сразу после $(e).html(html); добавить следующее:

if(options.complete!=null) { options.complete();}

Тогда в вашем html:

$(document).ready(function () {
  $('#feed').rssfeed('http://myrssfeedurl', {
    limit: 5,
    complete: function() { $("#feed div").jScrollPane(); }
  });
});
2 голосов
/ 09 декабря 2010

Я быстро взглянул на плагин zRSSFeed, и код оставляет желать лучшего ... однако вы можете добавить свой собственный триггер в конец функции _callback, сразу после $(e).html(html); в самый конец сценария. Попробуйте добавить:

$(e).trigger('rss');

И тогда в вашей основной программе вы можете прослушать событие rss на элементе, например:

$('#feed').bind('rss', function() {
    // the html should now be injected
}).rssfeed( '/stuff.xml' );

Это не красиво, но может быть быстро исправлено, если это то, что вам нужно здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...