使用带有无限滚动的jquery切换

使用带有无限滚动的jquery切换,jquery,toggle,show-hide,Jquery,Toggle,Show Hide,我正在尝试使用切换jQuery脚本(如下所示)来显示/隐藏注释列表。该脚本运行良好,但是,在实现无限滚动功能后,该脚本会在之前的文章中重复“showtext”(即,在使用无限滚动加载3次后续文章后,将有3份“(show)”) 我意识到这是因为脚本中的“append”行,但是当我将其注释掉并在页面上创建class=“toggleLink”链接时,内容不会切换。链接的文本确实会变为hideText,所以我想知道为什么内容没有出现。谢谢你的帮助 $(document).ready(function()

我正在尝试使用切换jQuery脚本(如下所示)来显示/隐藏注释列表。该脚本运行良好,但是,在实现无限滚动功能后,该脚本会在之前的文章中重复“showtext”(即,在使用无限滚动加载3次后续文章后,将有3份“(show)”)

我意识到这是因为脚本中的“append”行,但是当我将其注释掉并在页面上创建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;

});
});
$(文档).ready(函数(){
//为显示/隐藏链接选择文本-可以包含HTML(例如图像)
var showText='show';
var hideText='hide';
//初始化可见性检查
var为可见=假;
//使用“toggle”类将显示/隐藏链接附加到元素前面的元素
$('.toggle').prev().append('()');
//使用“toggle”类隐藏所有元素
$('.toggle').hide();
//捕获切换链接上的单击
$('a.toggleLink')。单击(函数(){
//切换可见性
is_visible=!is_visible;
//根据图元是显示还是隐藏,更改链接
$(this).html((!是否可见)?showText:hideText);
//切换显示-取消注释下一行的基本“手风琴”样式
//$('.toggle').hide();$('a.toggleLink').html(showText);
$(this.parent().next('.toggle').toggle('slow');
//返回false,因此不遵循任何链接目标
返回false;
});
});

我为这个问题创建了一个解决方案。虽然这可能不是最有效的做事方式

在append()行上方添加此行:


这将删除所有toggleLink元素,以便在无限滚动运行并调用切换脚本时,可以重新插入showText(消除重复)。

Wordt因此,根据您的jQuery版本,在绑定到从DOM添加/删除的元素时,您可能会觉得很方便。
$('.toggleLink').remove();