Ich versuche, ein Toggle jQuery-Skript (siehe unten) zu verwenden, um eine Liste von Kommentaren ein-/ausblenden. Das Skript funktioniert gut, aber nach dem Implementieren einer unendlichen Bildlauffunktion wiederholt das Skript den "showtext" auf den vorherigen Posts (dh nach 3 Ladungen der nächsten Posts mit unendlichem Scroll gibt es 3 Kopien von "(show)") .mit jquery toggle mit unendlich scroll
Ich weiß, dies liegt an der Zeile "append" im Skript, aber wenn ich dies auskommentieren und einen Link auf der Seite mit class = "toggleLink" machen, schaltet der Inhalt nicht um. Der Text des Links ändert sich jedoch zum hideText, also frage ich mich, warum der Inhalt nicht erscheint. Danke für jede Hilfe!
$(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;
});
});
Wenn Sie Ihre jQuery-Version verwenden, finden Sie ['.live()'] (http://api.jquery.com/live/) nützlich, wenn Sie Elemente binden, die aus der Liste hinzugefügt/entfernt werden DOM. –