卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11179本站已运行3223

帝国CMS二次开发内容点击无限加载思路分享

帝国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="".$row['title']."";
	$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('
').parent();                 template.css('display','none')                 $(this).append(''+settings.spinner_code+'
')                 $(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代码

    
    
    
    
衣服    
        
  • 男士
  •     
  • 女士
  •     
  • 童装
  •     
    

鞋子

    
        
  • 男士
  •     
  • 女士
  •     
  • 童装
  •     
    

配饰

    
        
  • 男士
  •     
  • 女士
  •     
  • 童装
  •     
    
    
                   
                              ::点击读取更多内容:: 

卓越飞翔博客
上一篇: 帝国CMS二次开发新浪iplookup根据ip跳转到不同域名
下一篇: 帝国CMS二次开发跨表查询相关文章
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏