0

我将尽可能准确地描述我的问题,以及在此处寻求帮助之前我在尝试解决它时所做的工作。我使用的脚本通过 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') {
4

1 回答 1

0

不确定我的代码是否正确,但我认为:

else {
   jQuery('.'+css_commentlist).append(tmpComment);
}

应该是:

else  {
   jQuery('.'+css_commentlist).prepend(tmpComment);
}

几乎在文件的底部

于 2013-05-31T14:00:11.537 回答