我正在尝试使用切换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;
});
});
答案 0 :(得分:1)
我为这个问题创造了一个解决方案。虽然它可能不是最有效的做事方式。
在append()行上方添加此行:
$('.toggleLink').remove();
这将删除所有toggleLink元素,以便在无限滚动运行并调用切换脚本时,可以重新插入showText(消除重复)。