【发布时间】:2016-07-12 09:50:54
【问题描述】:
我正在做一个包含内容块的无限滚动网页。每个块都有一个
用于添加描述的标签。此描述应包含相对于其长度的更多/更少按钮。脚本适用于第一个加载的内容块。我的问题是,在滚动时,会附加新块,其中更多/更少按钮未显示。
我的 html p 标签类是“wall_post_para”
我的脚本是
var showChar = 100;
var ellipsestext = "...";
var moretext = "More";
var lesstext = "Less";
$('.wall_post_para').each(function()
{
var content = $(this).html();
if(content.length > showChar)
{
var c = content.substr(0, showChar);
//alert(c);
var h = content.substr(showChar-1, content.length - showChar);
//alert(h);
var html = c + '<span class="moreellipses">' + ellipsestext+ ' </span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">' + moretext + '</a></span>';
$(this).html(html);
}
});
$(".morelink").click(function()
{
if($(this).hasClass("less"))
{
$(this).removeClass("less");
$(this).html(moretext);
}
else
{
$(this).addClass("less");
$(this).html(lesstext);
}
$(this).parent().prev().toggle();
$(this).prev().toggle();
return false;
});
我尝试使用委托,但我不知道如何将委托与 .each() 一起使用。请帮助我。
【问题讨论】:
-
在 SO 中搜索“事件委托” - 有 100 个 SO 问题/答案
-
你能分享我的链接吗?
-
当你向下滚动时——究竟如何添加新块?这不包括在问题中。该代码提供了“修复”现有块。将此作为函数并在添加新函数时调用它。
-
我使用 ajax 追加数据。这些数据包含大量 html 内容以及描述 p 标签。
-
您不需要整个
$(".wall_post_para")代码 - 只需使用已经内置的“更多”构建您的 html。