我会尝试尽可能准确地描述我的问题,以及在尝试解决之前我做了什么,然后在这里寻求帮助。 我使用的脚本通过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从'bottom'切换到'top'并从上到下切换但没有任何改变。
该脚本名为PTM Ajax Comments,我从github repo下载了它。
commentPosition = data.commentPosition;
commentPosition = data.commentPosition;
if(commentPosition == 'bottom') {
} else if(commentPosition == 'top') {
答案 0 :(得分:0)
不确定我的代码是否合适但我认为:
else {
jQuery('.'+css_commentlist).append(tmpComment);
}
应该是:
else {
jQuery('.'+css_commentlist).prepend(tmpComment);
}
几乎位于文件底部