一个基于jquery库的点击加载更多实现(可在一个页面实现多个)
1.引入jquery库,文件包中有
2.页面中的js函数
<script type="text/javascript">
var page = [1,1,1,1,1,1,1];//定义每个点击加载按钮的初始页码
function showImr(v_clmid,v_id,v_begin,v_number,v_iwords,v_iitwords){
//参数依次表示:要获取后台文章的id;在页面中点击按钮的id(与前面的page数组的下标对应);获取文章开始的条数;每次获取的条数;标题字符宽度;摘要字符宽度。
var url = '/getImr.action';
var params = {
clmid:v_clmid,
begin:v_begin,
page:page[v_id],
number:v_number,
iwords:v_iwords,
iitwords:v_iitwords
};
$('#loaddiv'+v_id).show();
$('#loader'+v_id).hide();
jQuery.post(url, params,function(data){
$('#cntnr'+v_id).append(data);
$('#loaddiv'+v_id).hide();
$('#loader'+v_id).show();
page[v_id]+=1;
});
}
</script>
3.按钮的点击实现:
css:
.clickaction {
background-color: #EFEFEF;
color: #BBB;
display: block;
height: 34px;
line-height: 34px;
text-decoration: none;
font-size: 12px;
border-radius: 3px;
text-align: center;
clear: both;
cursor:pointer;
}
.loaddiv{
width:40px;
height:40px;
background: url(/images/load.gif) center no-repeat;
display:none;
}
第一个点击加载更多按钮:
<ul id="cntnr0"> //这个地方的id后面的数字表示第几个按钮,第一个从0开始
<li>……</li>
<li>……</li>
</ul>
<div id="loaddiv0" class="loaddiv"></div>
<div id="loader0" class="clickaction" onclick="showImr('28',0,6,5,51,80);">点击加载更多</div>
第二个点击加载更多按钮:
<ul id="cntnr1"> //这个地方的id后面的数字表示第几个按钮,第一个从0开始
<li>……</li>
<li>……</li>
</ul>
<div id="loaddiv1" class="loaddiv"></div>
<div id="loader1" class="clickaction" onclick="showImr('28',1,6,5,51,80);">点击加载更多</div>
第三个,第四个依次类推,修改id="cntnr1",id="loaddiv1",id="loader1",onclick="showImr('28',1 中的1为2即可。
4.java端的实现:
/getImr.action端实现输出li对即可。
pageBegin的计算方式:begin+(page-1)*number
pageEnd的计算方式:begin+page*number-1
sql中按照大于等于pageBegin,小于等于pageEnd的方式计算。
5.实现之后的效果图
如图,点击后会出现load的图片,内容加载完毕后load图片自动取消。