帝国cms 加载更多的实现(父栏目以及子栏目都可以实现)
1、
<div class="pagelist"> <span id="loadmore" class="btn" style="display: block;">加载更多</span> </div>
找到加载更多的按钮,设置好id(最好用id,比较容易遍历)。
2、
<ul id="showajaxnews" style="opacity: 1; top: 0px;">
[!--empirenews.listtemp--]<!--list.var1-->[!--empirenews.listtemp--]
</ul>
找到列表内容模板的标签,也设置好id。
3、
<script>
$(function () {
var i = 1;
$('#loadmore').click(function () {
$.ajax({
url: '域名/e/action/getmore.php',
type: 'POST',
data: {
"next": i,
'table': 'news',
'classid': '[!--self.classid--]', /*这个标签获取的当前id*/
'action': 'getmorenews',
'limit': 4,
'small_length': 120
},
dataType: 'html',
beforeSend: function () {
$("#loadmore").show().html(
'<img src="/images/loaduai.gif" alt="正在努力加载中...');
$('#loadmore').attr('disabled', 'disabled');
},
success: function (data) {
if (data) {
$("#showajaxnews").append(data);
$("#loadmore").removeAttr('disabled');
$("#loadmore").html('点击加载更多');
i++;
} else {
$("#loadmore").show().html("已全部加载完毕!");
$('#loadmore').attr('disabled', 'disabled');
return false;
}
}
});
});
});
</script>
ajax放到加载更多的下边,记得一定要引入Jquery.
4、
下边标红的,我这里做了一个$classid的判断,意思就是当栏目是父栏目7的时候,调用栏目id 8 和 9 的所有数据。按照自己的情景设置即可。
<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../data/dbcache/class.php');
if ($_POST[action] == 'getmorenews') {
$table = htmlspecialchars($_POST[table]);
if (empty($_POST[orderby])) {
$orderby = 'newstime';
} else {
$orderby = htmlspecialchars($_POST[orderby]);
}
if (empty($_POST[myorder])) {
$myorder = 'desc';
} else {
$myorder = 'asc';
}
if (empty($_POST[limit])) {
$limit = 6;
} else {
$limit = (int) $_POST[limit];
}
if (empty($_POST[classid])) {
$where = null;
} else if ($_POST[classid] == 7) {
$where = 'where classid in("8,9")';
} else {
$where = 'where classid in(' . $_POST[classid] . ')';
}
if (empty($_POST[length])) {
$length = 50;
} else {
$length = (int) $_POST[length];
}
if (empty($_POST[small_length])) {
$small_length = 500;
} else {
$small_length = (int) $_POST[small_length];
} // next:第几页
// table:调用数据表
// limit:每次调用数量
// small_length:简介截取字符数
// length:标题截取字符数
// classid:调用栏目,允许多个,如1,2,3,4 特别注意,必须是调用同一数据表的栏目
// orderby:排序,默认是newstime,传什么就按什么来排序,如 id
// myorder:正反序,默认是asc,传值怎为desc $link = db_connect();
$empire = new mysqlquery();
$num = (int) $_POST['next'] * $limit; if ($table) {
$sql = $empire->query("SELECT * FROM `" . $dbtbpre . "ecms_" . $table . "` $where order by $orderby $myorder limit $num,$limit"); while ($r = $empire->fetch($sql)) { if ($r[mtitlepic] == '') {
$r[mtitlepic] = $public_r[news . url] . "e/data/images/notimg.gif";
}
$oldtitle = stripSlashes($r[title]);
$title = sub($oldtitle, '', $length);
$smalltext = stripSlashes($r[smalltext]);
$smalltext = sub($smalltext, '', $small_length);
$classname = $class_r[$r[classid]][classname];
$newsurl = $public_r[newsurl];
$classurl = $newsurl . $class_r[$r[classid]][classpath];
$urls = sys_ReturnBqTitleLink($r); ?>
<!-- 以下代码是显示列表的标签模板 ,按照情景修改即可。-->
<li>
<a href="<?= $urls ?>">
<div class="img">
<img src="<?= $r[titlepic] ?>" class="lazy"></div>
<div class="con">
<h2>
<?= $r[title] ?>
</h2>
<p>
<?= $r[smalltext] ?>
</p>
<span>
<?= date("Y-m-d", $r[newstime]) ?>
</span>
</div>
<div class="more">
<span></span>
</div>
</a>
</li>
<?php
}
}
}
db_close();
$empire = null;
?>
建立一个getmore.php文件,把上边代码上传到/e/action/文件中
帝国cms 加载更多的实现(父栏目以及子栏目都可以实现)的更多相关文章
- 关于Vue中页面(父组件)下拉,页面中的子组件加载更多数据的实现方法
一个项目中存在很多这种情况:父组件(页面)中的子组件需要做下拉加载更多的需求,但是这个下拉到底部的动作只能通过监控页面(父组件)来完成 这就需要父子组件之间的通信,代码如下: 1. 建立一个用于父子组 ...
- mui的上拉加载更多 下拉刷新 自己封装的demo
----------------------------------------------- 这是一个非常呆萌的程序妹子,深夜码的丑代码------------------------------- ...
- 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
通过多次爬坑,发现了这些监听滚动来加载更多的组件的共同点, 因为这些加载更多的方法是绑定在需要加载更多的内容的元素上的, 所以是进入页面则直接触发一次,当监听到滚动事件之后,继续加载更多, 所以对于无 ...
- 使用vue之directive设计列表加载更多
背景 之前写过一篇<纯JS实现加载更多(VUE框架)>,它的逻辑思路比较清晰易懂,而今天看了一天公司项目的部分功能代码,发现同事们写的加载更多的功能更加的有趣,而且易于封装到一个组件当中, ...
- 纯JS实现加载更多(VUE框架)
<template> <div class = 'car_list' reft='scrollobx' @scroll='scrollready($event)'> </ ...
- react-native ListView 封装 实现 下拉刷新/上拉加载更多
1.PageListView 组件封装 src/components/PageListView/index.js /** * 上拉刷新/下拉加载更多 组件 */ import React, { Com ...
- vue2.0 自定义 下拉刷新和上拉加载更多(Scroller) 组件
1.下拉刷新和上拉加载更多组件 Scroller.vue <!-- 下拉刷新 上拉加载更多 组件 --> <template> <div :style="mar ...
- Android 实现下拉刷新和上拉加载更多的RECYCLERVIEW和SCROLLVIEW
PullRefreshRecyclerView.java /** * 类说明:下拉刷新上拉加载更多的RecyclerView * Author: gaobaiq * Date: 2016/5/9 18 ...
- mui实现分页上拉加载更多 下拉刷新数据的简单实现 移动端下拉上拉
空下来把mui上拉加载更多,下拉刷新数据做了一个简单的实现,希望可以帮助到需要的朋友 demo项目的结构 <!DOCTYPE html> <html> <head> ...
随机推荐
- 前端知识点回顾之重点篇——CSS中vertical align属性
来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度, ...
- redis 的使用 及 配置文件解读
redis-server命令 redis-server /usr/local/redis/conf/redis.conf #加配置文件绝对路径启动redis服务 redis-server /usr/l ...
- Nginx优化之基本安全优化 (隐藏Nginx软件版本号信息,更改源码隐藏Nginx软件名及版本号,更改Nginx服务的默认用户)
一,隐藏Nginx软件版本号信息 查看版本号 curl -I 192.168.0.220 HTTP/1.1 200 OK Server: nginx/1.6.2 #这里清晰的暴露了Web版本号(1.6 ...
- Android : 高通平台的HVX简介及调试
一.HVX简介 HVX(“Hexagon矢量扩展”,Hexagon-六边形.Vector-矢量.Extensions-扩展)是Hexagon 680 DSP的典型特性,能够在执行图像处理应用中的计算负 ...
- Win10设置文件夹权限报错-(提示:无法枚举容器中的对象 访问被拒绝)
一.右击文件 选择“属性”-“安全”-“高级”,如下图 二.查看哪个用户的权限是:“完全控制”,我这里是“SYSTEM”用户. 三.选择顶部的 “更改-“高级”-“立即查找”,然后选择管理员账户“SY ...
- ssm整合用到的web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns ...
- python实现在目录中查找指定文件的方法
python实现在目录中查找指定文件的方法 本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 代码如下: import os from ...
- Spring-Kafka —— 消费后不提交offset情况的分析总结
最近在使用kafka,过程中遇到了一些疑问,在查阅了一些资料和相关blog之后,关于手动提交offset的问题,做一下总结和记录. 消费端手动提交offset代码如下: /** * 这是手动提交的消费 ...
- charles简明教程
charles是一款强大的抓包软件,他可以帮助开发者制造后端数据也可以帮助测试者抓包分析. 一.电脑上安装charles软件包 charles当然有各个版本,一般选择较新的版本,而不会选择最新的版本. ...
- 【miscellaneous】单播、广播和多播IP地址
转自:http://www.cnblogs.com/gaoxing/archive/2012/02/19/2358484.html 除地址类别外,还可根据传输的消息特征将IP地址分为单播.广播或多播. ...