我使用Timeago for Xpages和无限滚动自定义控件。如果我使用其中的一个,那很好。但如果两者都用就不好了。timeago 仅适用于repeatlimit 中的条目。如果我向下滚动另一个没有 Timeago 日期。由 dojo.addOnLoad 函数调用的 Timeago。第一次还好。我必须使用什么事件或功能?
问问题
173 次
1 回答
2
您可以在单击无限滚动按钮时使用该脚本来为 Timeago 自定义控件添加脚本。
我在无限滚动脚本中添加了 Timeago 脚本,并且在 500 毫秒(直到服务器响应并获取更多行的时间)之后,它将重新解析所有 timeago 类。
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[$(window).scroll(function(){
if($(window).scrollTop() == $(document).height() - $(window).height()) {
$(".infiniteScroll ul li a").click();
setTimeout(function(){
dojo.query(".timeago").forEach( function(el) {
var timeagoWidget= dijit.getEnclosingWidget(el);
if(!timeagoWidget){
timeagoWidget = new timeago.Timeago({}, el);
}
//refresh timeago
timeagoWidget.refresh();
});
},500);
}
});]]></xp:this.value>
</xp:scriptBlock>
另一种选择是劫持部分刷新并始终重新渲染 timeago 脚本。此处解释了如何劫持它。
于 2015-05-26T18:59:42.587 回答