您现在的位置是:首页 > cms教程 > 帝国CMS教程帝国CMS教程
帝国CMS内容点击加载无限瀑布流的实现方法
盼曼2023-05-17帝国CMS教程已有人查阅
导读帝国CMS无限加载是借鉴别的CMS插件更改的。现在还在制作样式中,完成后会以插件分享给大家!无限加载常见的原理是利用PHP文件调用数据库信息

帝国CMS无限加载是借鉴别的CMS插件更改的。现在还在制作样式中,完成后会以插件分享给大家!无限加载常见的原理是利用PHP文件调用数据库信息,在用JS读取PHP信息,最后插入显示到页面。
PHP文件代码
<?php
require_once('../../e/class/connect.php'); //引入数据库配置文件和公共函数文件
require('../../e/class/db_sql.php'); //引入数据库操作文件
$link=db_connect(); //连接MYSQL
$empire=new mysqlquery(); //声明数据库操作类
$editor=1; //声明目录层次
$last = $_POST['last'];
$amount = $_POST['amount'];
$user = array('demo1','demo2','demo3','demo3','demo4');
$sql=$empire->query("select * from ceshi_ecms_news order by id desc limit $last,$amount");
while ($row=$empire->fetch($sql)) {
$addurl="<a href=".$row['titleurl'].">".$row['title']."</a>";
$sayList[] = array(
'content'=>$row['username'],
'author'=>$addurl,
'url'=>$row['titleurl'],
'date'=>date('m-d H:i',$row['newstime'])
);
}
echo json_encode($sayList);
db_close(); //关闭MYSQL链接
$empire=null; //注消操作类变量
?>
JS调用代码
(function( $ ){
var target = null;
var template = null;
var lock = false;
var variables = {
'last' : 0
}
var settings = {
'amount' : '10',
'address' : 'comments.php',
'format' : 'json',
'template' : '.single_item',
'trigger' : '.get_more',
'scroll' : 'false',
'offset' : '100',
'spinner_code': ''
}
var methods = {
init : function(options){
return this.each(function(){
if(options){
$.extend(settings, options);
}
template = $(this).children(settings.template).wrap('<div/>').parent();
template.css('display','none')
$(this).append('<div class="more_loader_spinner">'+settings.spinner_code+'</div>')
$(this).children(settings.template).remove()
target = $(this);
if(settings.scroll == 'false'){
$(this).find(settings.trigger).bind('click.more',methods.get_data);
$(this).more('get_data');
}
else{
if($(this).height() <= $(this).attr('scrollHeight')){
target.more('get_data',settings.amount*2);
}
$(this).bind('scroll.more',methods.check_scroll);
}
})
},
check_scroll : function(){
if((target.scrollTop()+target.height()+parseInt(settings.offset)) >= target.attr('scrollHeight') && lock == false){
target.more('get_data');
}
},
debug : function(){
var debug_string = '';
$.each(variables, function(k,v){
debug_string += k+' : '+v+'n';
})
alert(debug_string);
},
remove : function(){
target.children(settings.trigger).unbind('.more');
target.unbind('.more')
target.children(settings.trigger).remove();
},
add_elements : function(data){
//alert('adding elements')
var root = target
// alert(root.attr('id'))
var counter = 0;
if(data){
$(data).each(function(){
counter++
var t = template
$.each(this, function(key, value){
if(t.find('.'+key)) t.find('.'+key).html(value);
})
//t.attr('id', 'more_element_'+ (variables.last++))
if(settings.scroll == 'true'){
// root.append(t.html())
root.children('.more_loader_spinner').before(t.html())
}else{
// alert('...')
root.children(settings.trigger).before(t.html())
}
root.children(settings.template+':last').attr('id', 'more_element_'+ ((variables.last++)+1))
})
}
else methods.remove()
target.children('.more_loader_spinner').css('display','none');
if(counter < settings.amount) methods.remove()
},
get_data : function(){
// alert('getting data')
var ile;
lock = true;
target.children(".more_loader_spinner").css('display','block');
$(settings.trigger).css('display','none');
if(typeof(arguments[0]) == 'number') ile=arguments[0];
else {
ile = settings.amount;
}
$.post(settings.address, {
last : variables.last,
amount : ile
}, function(data){
$(settings.trigger).css('display','block')
methods.add_elements(data)
lock = false;
}, settings.format)
}
};
$.fn.more = function(method){
if(methods[method])
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
else if(typeof method == 'object' || !method)
return methods.init.apply(this, arguments);
else $.error('Method ' + method +' does not exist!');
}
})(jQuery)
HTML代码
<script type="text/javascript" src="js/jquery.more.js"></script>
<script>
$(function(){
$('#more').more({'address': 'data.php'})
});
</script>
<div class="lb-menu">
<div class="sideMenu">
<h3 class="on"><em></em>衣服</h3>
<ul>
<li>男士</li>
<li>女士</li>
<li>童装</li>
</ul>
<h3><em></em>鞋子</h3>
<ul>
<li>男士</li>
<li>女士</li>
<li>童装</li>
</ul>
<h3><em></em>配饰</h3>
<ul>
<li>男士</li>
<li>女士</li>
<li>童装</li>
</ul>
</div>
</div>
<div id="more">
<div class="single_item">
<div class="element_head">
<div class="date"></div>
<div class="author"></div>
</div>
<div class="content"></div>
<div class="url"></div>
</div>
<a href="javascript:;" class="get_more">::点击加载更多内容::</a> </div>
本文标签:
很赞哦! ()
相关教程
图文教程
帝国CMS内容页怎么判断下载字段是否有值的方法
通过本教程可以实现在帝国CMS内容页,如果信息有下载则显示,没有下载则不显示。
帝国cms内容页简介调用smalltext标签过滤特殊字符(原创)
帝国CMS内容页简介smalltext直接输出时,有时会包含一些特殊字符、HTML实体或空格,影响页面美观和SEO。下面为你提供几种过滤方法。
帝国CMS灵动标签循环子栏目数据同时调用点击排行及最新信息方法
帝国CMS灵动标签循环子栏目数据,同时调用点击排行及最新信息,当然也可以是其它两种信息调用,如下图为例:
帝国CMS实现商城品牌商品列表和店铺商品列表功能的方法
也许你需要这要一个功能,比如商城网站的品牌列表,及某品牌下的所有商品,或者店铺列表以及该店铺下的所有商品,发布商品时可以选择店铺。
相关源码
-
(PC+WAP)餐饮奶茶美食小吃招商加盟pbootcms模板源码下载为茶饮烘焙、小吃快餐等餐饮品牌打造的招商加盟系统,助力品牌快速拓展市场;双端pc+wap设计呈现加盟政策对比表。支持后台实时更新菜品图片、加盟费用等关键信息。查看源码 -
(自适应响应式)工业机床工程农业机械设备网站源码下载框架适用于工程机械、机床设备等工业领域。通过模块调整可快速转型为农业机械、物流设备展示系统。预留7种工业产品展示模板。查看源码 -
(自适应)帝国CMS7.5模板淘宝客导购博客文章源码本模板基于帝国CMS7.5内核深度开发,为电商导购类网站设计。采用响应式布局技术,确保在手机、平板及电脑端均能获得优质浏览体验。模板内置商品推荐模块与优惠信息展示区,可快速搭建专业导购平台。查看源码 -
(自适应)营销型健身器材产品设备类pbootcms模板网站为健身器材企业打造的营销型网站模板,基于PbootCMS开源内核开发。采用HTML5响应式架构,PC与移动端数据实时同步,适配多终端展示场景。查看源码 -
(自适应响应式)陶瓷研磨盘抛光机械设备pbootcms网站模板本模板基于PbootCMS系统开发,为研磨抛光设备制造企业设计,特别适合陶瓷研磨盘、抛光设备等表面处理设备展示。采用响应式布局技术,确保各类设备的参数和工艺在不同终端上都能清晰呈现。查看源码 -
WordPress主题模板主题巴巴/博客X主题源码免费下载博客X主题专注于内容创作领域,为博客、资讯类网站提供专业的内容展示解决方案。该模板采用精心设计的布局结构,能够有效提升内容的可读性和用户停留时间。查看源码
| 分享笔记 (共有 篇笔记) |

