最新公告
  • 欢迎您光临329687站长资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 帝国CMS无限加载是借鉴别的CMS插件更改的。现在还在制作样式中,完成后会以插件分享给大家!

    无限加载常见的原理是利用PHP文件调用数据库信息,在用JS读取PHP信息,最后插入显示到页面。

    PHP文件代码

    <?php
    require_once(&#039;../../e/class/connect.php&#039;);//引入数据库配置文件和公共函数文件
    require(&#039;../../e/class/db_sql.php&#039;);//引入数据库操作文件
    $link=db_connect();//连接MYSQL
    $empire=newmysqlquery();//声明数据库操作类
    $editor=1;//声明目录层次
    
    $last=$_POST[&#039;last&#039;];
    $amount=$_POST[&#039;amount&#039;];
    
    $user=array(&#039;demo1&#039;,&#039;demo2&#039;,&#039;demo3&#039;,&#039;demo3&#039;,&#039;demo4&#039;);
    $sql=$empire->query("select*fromceshi_ecms_newsorderbyiddesclimit$last,$amount");
    
    while($row=$empire->fetch($sql)){
    	$addurl="<ahref=".$row[&#039;titleurl&#039;].">".$row[&#039;title&#039;]."</a>";
    	$sayList[]=array(
    		&#039;content&#039;=>$row[&#039;username&#039;],
    		&#039;author&#039;=>$addurl,
    		&#039;url&#039;=>$row[&#039;titleurl&#039;],
    		&#039;date&#039;=>date(&#039;m-dH:i&#039;,$row[&#039;newstime&#039;])
    );
    }
    echojson_encode($sayList);
    
    db_close();//关闭MYSQL链接
    $empire=null;//注消操作类变量
    ?>

    JS调用代码

    (function($){
    vartarget=null;
    vartemplate=null;
    varlock=false;
    varvariables={
    &#039;last&#039;:0
    }
    varsettings={
    &#039;amount&#039;:&#039;10&#039;,
    &#039;address&#039;:&#039;comments.php&#039;,
    &#039;format&#039;:&#039;json&#039;,
    &#039;template&#039;:&#039;.single_item&#039;,
    &#039;trigger&#039;:&#039;.get_more&#039;,
    &#039;scroll&#039;:&#039;false&#039;,
    &#039;offset&#039;:&#039;100&#039;,
    &#039;spinner_code&#039;:&#039;&#039;
    }
    
    varmethods={
    init:function(options){
    returnthis.each(function(){
    
    if(options){
    $.extend(settings,options);
    }
    template=$(this).children(settings.template).wrap(&#039;<div/>&#039;).parent();
    template.css(&#039;display&#039;,&#039;none&#039;)
    $(this).append(&#039;<divclass="more_loader_spinner">&#039;+settings.spinner_code+&#039;</div>&#039;)
    $(this).children(settings.template).remove()
    target=$(this);
    if(settings.scroll==&#039;false&#039;){
    $(this).find(settings.trigger).bind(&#039;click.more&#039;,methods.get_data);
    $(this).more(&#039;get_data&#039;);
    }
    else{
    if($(this).height()<=$(this).attr(&#039;scrollHeight&#039;)){
    target.more(&#039;get_data&#039;,settings.amount*2);
    }
    $(this).bind(&#039;scroll.more&#039;,methods.check_scroll);
    }
    })
    },
    check_scroll:function(){
    if((target.scrollTop()+target.height()+parseInt(settings.offset))>=target.attr(&#039;scrollHeight&#039;)&&lock==false){
    target.more(&#039;get_data&#039;);
    }
    },
    debug:function(){
    vardebug_string=&#039;&#039;;
    $.each(variables,function(k,v){
    debug_string+=k+&#039;:&#039;+v+&#039;n&#039;;
    })
    alert(debug_string);
    },
    remove:function(){
    target.children(settings.trigger).unbind(&#039;.more&#039;);
    target.unbind(&#039;.more&#039;)
    target.children(settings.trigger).remove();
    },
    add_elements:function(data){
    //alert(&#039;addingelements&#039;)
    
    varroot=target
    //alert(root.attr(&#039;id&#039;))
    varcounter=0;
    if(data){
    $(data).each(function(){
    counter++
    vart=template
    $.each(this,function(key,value){
    if(t.find(&#039;.&#039;+key))t.find(&#039;.&#039;+key).html(value);
    })
    //t.attr(&#039;id&#039;,&#039;more_element_&#039;+(variables.last++))
    if(settings.scroll==&#039;true&#039;){
    //root.append(t.html())
    root.children(&#039;.more_loader_spinner&#039;).before(t.html())
    }else{
    //alert(&#039;...&#039;)
    
    root.children(settings.trigger).before(t.html())
    
    }
    
    root.children(settings.template+&#039;:last&#039;).attr(&#039;id&#039;,&#039;more_element_&#039;+((variables.last++)+1))
    
    })
    
    
    }
    elsemethods.remove()
    target.children(&#039;.more_loader_spinner&#039;).css(&#039;display&#039;,&#039;none&#039;);
    if(counter<settings.amount)methods.remove()
    
    },
    get_data:function(){
    //alert(&#039;gettingdata&#039;)
    varile;
    lock=true;
    target.children(".more_loader_spinner").css(&#039;display&#039;,&#039;block&#039;);
    $(settings.trigger).css(&#039;display&#039;,&#039;none&#039;);
    if(typeof(arguments[0])==&#039;number&#039;)ile=arguments[0];
    else{
    ile=settings.amount;
    }
    
    $.post(settings.address,{
    last:variables.last,
    amount:ile
    },function(data){
    $(settings.trigger).css(&#039;display&#039;,&#039;block&#039;)
    methods.add_elements(data)
    lock=false;
    },settings.format)
    
    }
    };
    $.fn.more=function(method){
    if(methods[method])
    returnmethods[method].apply(this,Array.prototype.slice.call(arguments,1));
    elseif(typeofmethod==&#039;object&#039;||!method)
    returnmethods.init.apply(this,arguments);
    else$.error(&#039;Method&#039;+method+&#039;doesnotexist!&#039;);
    
    }
    })(jQuery)

    HTML代码

    <scripttype="text/javascript"src="js/jquery.more.js"></script>
    <script>
    $(function(){
    $(&#039;#more&#039;).more({&#039;address&#039;:&#039;data.php&#039;})
    });
    </script>
    <divclass="lb-menu">
    <divclass="sideMenu">
    <h3class="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>
    <divid="more">
    <divclass="single_item">
    <divclass="element_head">
    <divclass="date"></div>
    <divclass="author"></div>
    </div>
    <divclass="content"></div>
    <divclass="url"></div>
    </div>
    <ahref="javascript:;"class="get_more">::点击加载更多内容::</a></div>

    329站长网 » 帝国CMS二次开发内容点击无限加载思路分享

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    329687站长资源网
    一个专注于各种网站源码、程序模板、技术教程分享的站长资源下载平台
    • 5会员总数(位)
    • 2078资源总数(个)
    • 128本周发布(个)
    • 9 今日发布(个)
    • 210稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情