phpcms-ajax加载新闻列表
list.html
{template "content","header"}
<!--主体-->
<div class="container ov-h comm-width">
<!--左侧main-->
<div class="main-l fl">
<!--新闻列表-->
<div class="list-wrap news-list" id="main">
<div class="list-article ajax_list">
<ul>
{pc:content action="position" posid="10" catid="$catid" num="1" }
{loop $data $r}
<li class="list-tj">
<div class="inner-wrap">
<div class="img">
<a href="{$r[url]}" title="{$r[title]}" target="_blank"><img src="{if !!$r[thumb]}{$r[thumb]}{else}{APP_PATH}style/img/mzj.jpg{/if}" alt="{$r[title]}"></a>
</div>
<div class="cont">
<h3><a href="{$r[url]}" title="{$r[title]}" target="_blank">{$r[title]}</a></h3>
<div class="info">
<i class="author"></i><a href="#"><span>{$copyfrom}</span></a>
<i class="time"></i><span>{date('Y-m-d',$r[inputtime])}</span>
<i class="num"></i><span>{php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; }
{$views}</span>
</div>
<a href="{$r[url]}" title="{$r[title]}" target="_blank"><div class="summary">{$r[description]}</div></a>
</div>
</div>
</li>
{/loop}
{/pc}
</ul>
</div>
<div class="loading-more"><a href="javascript:;">加载更多</a></div>
</div>
<!--新闻列表-->
</div>
<!--左侧main-->
<!--右侧边栏-->
<div class="sidebar-r news-sidebar fr">
<!--热点视频-->
<div class="pannel-block side-video-hot">
<div class="bd">
<h2 class="pannel-tit"><span>热门视频</span><a class="more" href="{$CATEGORYS[7][url]}" target="_blank">+MORE</a></h2>
<ul class="video-side-list">
{pc:content action="lists" catid="7" num="3" order="inputtime DESC" }
{loop $data $r}
<li class="video-side-item">
<a href="{$r[url]}" title="{$r[title]}" target="_blank">
<img class="video-img" src="{$r[thumb]}" alt="">
<div class="video-cont">
<i class="video-icon"></i>
<p class="video-tit">{$r[title]}</p>
</div>
</a>
</li>
{/loop}
{/pc}
</ul>
</div>
</div>
<!--热点视频-->
<!--热门资讯-->
<div class="pannel-block bg-fff side-new-hot">
<div class="bd">
<h2 class="pannel-tit"><span>热门资讯</span><a class="more" href="{$CATEGORYS[6][url]}" target="_blank">+MORE</a></h2>
<ul class="list">
{pc:content action="lists" catid="6" num="10" order="inputtime DESC" }
{loop $data $r}
<li class="list-item">
<a href="{$r[url]}" title="{$r[title]}" target="_blank" class="list-item-tit">{$r[title]}</a>
</li>
{/loop}
{/pc}
</ul>
</div>
</div>
<!--热门资讯-->
<!--热门标签-->
<div class="pannel-block bg-fff">
<div class="bd">
<h2 class="pannel-tit"><span>热门TAG</span></h2>
<div class="side-tag-hot">
<a class="tag-color-1" href="#">优选服务商</a><a class="tag-color-2" href="#">网店转让</a><a class="tag-color-3" href="#">找淘宝客</a><a class="tag-color-4" href="#">货源供销</a><a class="tag-color-5" href="#">求职招聘</a> <a class="tag-color-2" href="#">网店转让</a><a class="tag-color-3" href="#">找淘宝客</a><a class="tag-color-4" href="#">货源供销</a><a class="tag-color-5" href="#">求职招聘</a> <a class="tag-color-1" href="#">优选服务商</a><a class="tag-color-2" href="#">网店转让</a><a class="tag-color-3" href="#">找淘宝客</a><a class="tag-color-4" href="#">货源供销</a><a class="tag-color-5" href="#">求职招聘</a>
</div>
</div>
</div>
<!--热门标签-->
</div>
<!--右侧边栏-->
</div>
<!--主体-->
<script>
var app_path = '{APP_PATH}';
$(document).ready(function() {
$('#main').scrollPagination({
catid : {$catid},
nop : 2,
error : '没有了!',
delay : 500,
scroll : false // false
});
});
</script>
{template "content","footer"}
ajax_special.php
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
$db = pc_base::load_config('database','default');
$hostname = $db[hostname];
$db_user = $db[username];
$db_pass = $db[password];
$db_name = $db[database];
$timezone="Asia/Shanghai";
$link=mysql_connect($hostname,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京时间
$offset = is_numeric($_POST['offset']) ? $_POST['offset'] : die();
$postnumbers = is_numeric($_POST['number']) ? $_POST['number'] : die();
$model_id = is_numeric($_POST['model']) ? $_POST['model'] : die();
$cat_id = is_numeric($_POST['catid']) ? $_POST['catid'] : die();
$cond=is_numeric($_POST['cond']) ? $_POST['cond'] : die();
$run = mysql_query("SELECT * from dsays_news where status=99 and catid=".$cat_id." order by id DESC LIMIT ".$postnumbers." OFFSET ".$offset);
if($cat_id==10){
$run1 = mysql_query("SELECT * from dsays_activity where status=99 and catid=".$cat_id." order by id DESC LIMIT ".$postnumbers." OFFSET ".$offset);
}
if ($cat_id==7) {
while($row = mysql_fetch_array($run)) {
echo '<li><div class="inner-wrap">';
echo '<a target="_blank" href="'.$row['url'].'"><img src="'.$row['thumb'].'" alt="'.$row['title'].'"></a>';
echo '<a target="_blank" href="'.$row['url'].'"><p class="tit">'.$row['title'].'</p></a>';
echo '<a target="_blank" href="'.$row['url'].'"><i class="icon"></i></a>';
echo '</div></li>';
}
}else if($cat_id==10){
if ($cond==1) {
while($row = mysql_fetch_array($run1)) {
$time_date=over_time($row['activity_enddate']);
echo '<li><div class="inner-wrap">';
echo '<h2><a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><span class="tit">'.$row['title'].'</span></a> <i class="status">';
if ($time_date>0) {
echo '活动报名进行中';
}else{
echo '已结束';
}
echo '</i></h2>';
echo '<div class="img-box">';
echo '<a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><img src="'.$row['thumb'].'" alt="'.$row['title'].'"></a>';
if ($time_date>0) {
echo '<p class="other-day"><span>距离活动<br/>结束还有<br/><i>'.$time_date.'</i>天</span></p>';
}
echo '</div>';
echo '<div class="summary">';
echo '<span class="date">活动时间:'.$row['activity_startdate'].' – '.$row['activity_enddate'].'</span><span class="address">'.$row['activity_address'].'</span>';
echo '</div></div></li>';
}
}else if ($cond==2) {
while($row = mysql_fetch_array($run1)) {
$time_date=over_time($row['activity_enddate']);
if ($time_date<0){continue;}
echo '<li><div class="inner-wrap">';
echo '<h2><a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><span class="tit">'.$row['title'].'</span></a> <i class="status">';
if ($time_date>0) {
echo '活动报名进行中';
}else{
echo '已结束';
}
echo '</i></h2>';
echo '<div class="img-box">';
echo '<a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><img src="'.$row['thumb'].'" alt="'.$row['title'].'"></a>';
if ($time_date>0) {
echo '<p class="other-day"><span>距离活动<br/>结束还有<br/><i>'.$time_date.'</i>天</span></p>';
}
echo '</div>';
echo '<div class="summary">';
echo '<span class="date">活动时间:'.$row['activity_startdate'].' – '.$row['activity_enddate'].'</span><span class="address">'.$row['activity_address'].'</span>';
echo '</div></div></li>';
}
}else if ($cond==3) {
while($row = mysql_fetch_array($run1)) {
$time_date=over_time($row['activity_enddate']);
if ($time_date>=0){continue;}
echo '<li><div class="inner-wrap">';
echo '<h2><a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><span class="tit">'.$row['title'].'</span></a> <i class="status">';
if ($time_date>0) {
echo '活动报名进行中';
}else{
echo '已结束';
}
echo '</i></h2>';
echo '<div class="img-box">';
echo '<a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><img src="'.$row['thumb'].'" alt="'.$row['title'].'"></a>';
if ($time_date>0) {
echo '<p class="other-day"><span>距离活动<br/>结束还有<br/><i>'.$time_date.'</i>天</span></p>';
}
echo '</div>';
echo '<div class="summary">';
echo '<span class="date">活动时间:'.$row['activity_startdate'].' – '.$row['activity_enddate'].'</span><span class="address">'.$row['activity_address'].'</span>';
echo '</div></div></li>';
}
}
}else{
while($row = mysql_fetch_array($run)) {
$views = mysql_query("SELECT views from dsays_hits where hitsid='c-".$model_id."-".$row['id']."'");
$view = mysql_fetch_row($views);
//echo "SELECT views from dsays_hits where hitsid='c-".$model_id."-".$row['id']."'";
echo '<li><div class="inner-wrap"><div class="img">';
echo '<a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><img src="'.$row['thumb'].'" alt="'.$row['title'].'"></a></div>';
echo '<div class="cont">';
echo '<h3><a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank">'.$row['title'].'</a></h3>';
echo '<div class="info">';
echo '<i class="author"></i><a href="#"><span>'.'发现者说'.'</span></a>';
echo '<i class="time"></i><span>'.date('Y-m-d',$row['inputtime']).'</span>';
echo '<i class="num"></i><span>'.$view[0].'</span>';
echo '</div>';
echo '<a href="'.$row['url'].'" title="'.$row['title'].'" target="_blank"><div class="summary">'.$row['description'].'</div></a>';
echo '</div></div></li>';
}
}
/*
*计算活动结束时间
*param 开始时间,结束时间
*/
function over_time($end){
return (int)((strtotime($end) - time())/3600/24) ;
}
?>
jquery.scroll.loading.js
(function($) {
$.fn.scrollPagination = function(options) {
var settings = $.extend({}, $.fn.scrollPagination.defaults, options);
return this.each(function() { var $this = $(this); var $settings = settings; var offset = $settings.offset; var busy = false; var $load_btn=$this.find('.loading-more a'); var $initmessage = '<span class="c_p">点击查看更多</span>'; function getData() { $.post(app_path+'api.php?op=ajax_special', { action : 'scrollpagination', number : $settings.nop, offset : offset, catid : $settings.catid, model : $settings.model, cond : $settings.cond }, function(data) { $load_btn.html($initmessage); if(data == "") { $load_btn.html($settings.error).addClass("active"); } else { offset = offset+$settings.nop; $this.find('.ajax_list ul').append(data); busy = false; } }); } getData(); if($settings.scroll == true) { $(window).scroll(function() { if($(window).scrollTop() + $(window).height() > $this.height() && !busy) { busy = true; $load_btn.html('<span class="loading">正在给力加载中...</span>'); setTimeout(function() { getData(); }, $settings.delay); } }); } $this.find('.loading-more a').on('click',function() { if(busy == false) { $(this).html('正在给力加载中...'); busy = true; setTimeout(function() { getData(); }, $settings.delay); } }); });
}
$.fn.scrollPagination.defaults = {
catid : 6,
nop : 10, // 初始加载的条数
offset : 0, // 分页起始值
error : '没有了!',
delay : 500,
scroll : true, // 是否自动加载
model : 1,
cond : 0//条件 1-全部,2-进行中,3已结束
};
$.fn.scrollPagination.setDefaults = function(settings) {
$.extend($.fn.scrollPagination.defaults, settings);
};
})(jQuery);