используя jquery с бесконечной прокруткой - PullRequest
0 голосов
/ 27 декабря 2010

Я пытаюсь использовать скрипт переключения jQuery (показанный ниже), чтобы показать / скрыть список комментариев.Сценарий работает хорошо, однако после реализации функции бесконечной прокрутки сценарий повторяет «showtext» для предыдущих сообщений (т. Е. После 3 загрузок следующих сообщений с бесконечной прокруткой будет 3 копии «(show)»).

Я понимаю, что это из-за строки «добавить» в скрипте, однако, когда я закомментирую это и сделаю ссылку на страницу с class = «toggleLink», содержимое не переключается.Текст ссылки действительно изменяется на hideText, поэтому мне интересно, почему контент не появляется.Спасибо за любую помощь!

$(document).ready(function() {

// choose text for the show/hide link - can contain HTML (e.g. an image)
var showText='show';
var hideText='hide';

// initialise the visibility check
var is_visible = false;

// append show/hide links to the element directly preceding the element with a class of "toggle"
$('.toggle').prev().append(' (<a href="#" class="toggleLink">'+showText+'</a>)');

// hide all of the elements with a class of 'toggle'
$('.toggle').hide();

// capture clicks on the toggle links
$('a.toggleLink').click(function() {

// switch visibility
is_visible = !is_visible;

// change the link depending on whether the element is shown or hidden
$(this).html( (!is_visible) ? showText : hideText);

// toggle the display - uncomment the next line for a basic "accordion" style
//$('.toggle').hide();$('a.toggleLink').html(showText);
$(this).parent().next('.toggle').toggle('slow');

// return false so any link destination is not followed
return false;

});
});

1 Ответ

1 голос
/ 27 декабря 2010

Я создал решение этой проблемы. Хотя, возможно, это не самый эффективный способ ведения дел.

Добавьте эту строку над строкой append ():

$('.toggleLink').remove();

При этом удаляются все элементы toggleLink, поэтому при запуске бесконечной прокрутки и вызове сценария переключения можно повторно вставить showText (исключая дублирование).

...