Ajaxスクロールドロップダウン汎用ページングコード
5642 ワード
要求された機能を共通のjsファイルの下にカプセル化しました
次にjuicerを使用します.jsはjsのテンプレートを作りますこのように後期はいかなる地方でこのajaxのロードのページングを使うことができるならば
ajaxPage.jsファイルコードoptionは、いくつかの共通の入力値を構成します.
juicerを添付します.jsのファイルダウンロードアドレスは後期ダウンロードに便利ですhttp://juicer.name/docs/docs_zh_cn.html
ajaxを使用してページングされたページコード表示にはjs部分コードlistのみが列挙されている.html
バックアップに座って後でページを分けて直接使用するのに便利です
次にjuicerを使用します.jsはjsのテンプレートを作りますこのように後期はいかなる地方でこのajaxのロードのページングを使うことができるならば
ajaxPage.jsファイルコードoptionは、いくつかの共通の入力値を構成します.
var page_module = {
options : {
pagesize : 10,
get_content_callback : false,
base_url : '/community/',
uid : 0,
aid :0, // id
status :0,
},
init : function(options){
this.options = $.extend(this.options, options);
},
//
get_content_list : function(page){
$.ajax({
url : this.options.base_url,
dataType : 'JSON',
beforeSend: function(XMLHttpRequest){
$(".more").show().html('<span><img src="/static/community/images/loading.png" class="loading_img" /> ...</span>');
},
data:{page:page, pagesize:this.options.pagesize, uid:this.options.uid,dateline:this.options.dateline,ajax:1,aid:this.options.aid},
success:function(data){
if(data && page_module.options.get_content_callback){
page_module.options.get_content_callback(data);
}
}
});
}
};
juicerを添付します.jsのファイルダウンロードアドレスは後期ダウンロードに便利ですhttp://juicer.name/docs/docs_zh_cn.html
ajaxを使用してページングされたページコード表示にはjs部分コードlistのみが列挙されている.html
<div class="circle_base">
<ul id="contentlist">
{if $shopList}
{loop $shopList $key $value}
<li>
<div class="main">
<a href="javascript:;" class="arrow"><i></i></a>
<dl>
<dt><img src="{$value['avatar']}" width="50px" height="50px"></dt>
<dd>
<h3>{$value['shopName']}</h3>
<p> :{$value['cpname']}</p>
</dd>
</dl>
</div>
<ul class="explain" rel="0">
<li>
<span> :</span>
<div>{$value['cpdesc']}</div>
</li>
<li>
<span> :</span>
<div>{$value['max']}</div>
</li>
<li>
<span> :</span>
<div>{$value['shopListName']}</div>
</li>
<li>
<span> :</span>
<div>{$value['etime']}</div>
</li>
</ul>
</li>
{/loop}
{else}
<li class="no_pc"> </li>
{/if}
</ul>
<div class="more" style="display:none">
<a href="javascript:;"> </a>
</div>
</div>
<script src="/static/community/js/ajaxPage.js"></script>
<script src="/static/community/js/juicer.js"></script>
<script id="tpl" type="text/template">
{@each dataAjax as it, k}
<li>
<div class="main">
<a href="javascript:;" class="arrow"><i></i></a>
<dl>
<dt><img src="{$value['avatar']}" width="50px" height="50px"></dt>
<dd>
<h3>${it.shopName}</h3>
<p> :${it.cpname}</p>
</dd>
</dl>
</div>
<ul class="explain" rel="0">
<li>
<span> :</span>
<div>${it.cpdesc}</div>
</li>
<li>
<span> :</span>
<div>${it.max}</div>
</li>
<li>
<span> :</span>
<div>${it.shopListName}</div>
</li>
<li>
<span> :</span>
<div>${it.etime}</div>
</li>
</ul>
</li>
{@/each}
</script>
<script>
$(".circle_base li .main").live("click",function(){
$(this).toggleClass("arrow_90");
$(this).siblings(".explain,.share_list").slideToggle();
});
//
var options = {
pagesize : 10,
base_url : '/community/active/shopList',
aid : {$aid},
get_content_callback : function(result){
if(result && result.dataAjax ){
var tpl = document.getElementById('tpl').innerHTML;
var html = juicer(tpl, result);
$("#contentlist").append(juicer(tpl,result));
}else{
$(".more").show().html('<a href="javascript:;" title=" "> </a>');
}
}
};
$(document).ready(function(){
page_module.init(options);
var range = 50; // / px
var num = 2;
var totalheight = 0;
$(window).scroll(function(){
var srollPos = $(window).scrollTop(); // ( )
totalheight = parseFloat($(window).height()) + parseFloat(srollPos);
if(($(document).height()-range) <= totalheight) {
page_module.get_content_list(num);
num++;
}
});
});
</script>
バックアップに座って後でページを分けて直接使用するのに便利です