我将尽可能准确地描述我的问题,以及在此处寻求帮助之前我在尝试解决它时所做的工作。我使用的脚本通过 ajax 附加新的注释。它可以工作,但像任何其他脚本一样......有它的问题。在我的网站上,我已设置首先显示最新评论。
因此,发布的第一条评论 - 附加在顶部。
发布的第二条评论(不刷新页面)应该附加在第一个评论之上,而不是附加在第一个评论之下,并且它继续这样,第三个发布在第二个之下,第四个发布在第三个之下......
http://s8.postimg.org/407uhljl1/image.jpg
这就是神奇发生的地方 http://pastebin.com/5nFeEpZg
更准确地说:
var the_parent_class = jQuery('#'+css_respond).parent().attr('class');
if(typeof the_parent_class != "undefined" && the_parent_class.search(/depth-/i)
!= -1) { //threaded
// Check if there are already replies, if not, add <ul class="children">
if(jQuery('#'+css_respond).parent().children('.children').length) {
// There are replies, add comment to the end of the list
jQuery('#'+css_respond).parent().children('.children').append(tmpComment);
} else {
// First reply
tmpComment = '<ul class="children">'+tmpComment+'</ul>';
jQuery('#'+css_respond).parent().append(tmpComment) }
else
{
// Normal comment
if(commentPosition == 'bottom') {
jQuery('.'+css_commentlist).append(tmpComment);
}
else if(commentPosition == 'top')
{
jQuery('.'+css_commentlist).prepend(tmpComment);
}
else {
jQuery('.'+css_commentlist).append(tmpComment);
}
}
}
else {
// The commentlist doesn't exist, this is the first comment
// Do we need to support the 'Content Press' Theme?
if(compatContentPress == 'checked') {
jQuery('div.postbox').before(jQuery(tmpComment).find('div.boxcomments'));
} else {
tmpComment = '<ol class="'+css_commentlist+'">'+tmpComment+'</ol>';
jQuery('#'+css_respond).before(jQuery(tmpComment));
}
}
当页面刷新时,评论看起来应该是 - 最新发布的最先 - 所以问题必须在于附加评论。
在问这里之前,我尝试在上面设置断点
var the_parent_class = jQuery('#' + css_respond).parent().attr('class');
同时将commentPosition从“底部”切换到“顶部”,从顶部到底部,但没有任何改变。
该脚本称为 PTM Ajax Comments,我已经从 github 存储库下载了它。
commentPosition = data.commentPosition;
commentPosition = data.commentPosition;
if(commentPosition == 'bottom') {
} else if(commentPosition == 'top') {