HTML5 Firefox centos linux命令 java linux 程序员 google Python 开源 apache Android 微软 nginx Windows Ubuntu shell mysql wordpress php

Typecho评论Ajax翻页

前提条件是评论分页显示,以下是实现方法:

1. Ajax请求页数据,需要修改post.PHP两处

①开头修改成

<?php
// 评论Ajax翻页 by 牧风
 
if(isset($_GET["action"]) && $_GET["action"] == "ajax_comments"){// Ajax请求的头数据
	$this->need('comments.php');
}else{
	if(strpos($_SERVER["PHP_SELF"],"themes")) header('Location:/');
	$this->need('header.php');
?>

②.结尾处加上

<?php }?>

2. js部分

// jQuery版本 1.4+ 
jQuery(document).ready(function($) {
  var comments = $("#comments"),
  // 评论部分id
  loadingText = "\u8bc4\u8bba\u6570\u636e\u52a0\u8f7d\u4e2d\x2e\x2e\x2e",
  // 加载loading提示
  ajaxed = false;
  $('#comments .page-navigator li a').live("click",function(e) {
    e.preventDefault();
    var _this = $(this),
    _thisP = _this.parent();
    if (_thisP.hasClass('current') || ajaxed == true) return; // 判断是否是当前页面
    var _list = $('.comment-list'),
    url = _this.attr("href").replace("#comments", "") + "?action=ajax_comments";
    $.ajax({ // Ajax请求
      url: url,
      beforeSend: function() {
        _list.text(loadingText);
        ajaxed = true;
      },
      success: function(data) {
        comments.html(data);
        ajaxed = false;
      }
    });
    return false;
  });
});

因为jquery1.7 引入了这个.on来绑定事件,并且最新版本删除了.live

// jQuery版本 1.7+
$('#comments .page-navigator li a').live("click", function(e) 改成 comments.on("click", ".page-navigator li a", function(e)

打包下载:评论Ajax翻页 by 牧风.zip

延伸阅读

评论