最近在给学生做个论坛,初学JS和JQuery,尝试做了个带分页头像选择列表。
代码如下:
调用代码:
代码如下:
var lee={};
lee.utils={};
lee.utils.face_list=function(st,to,si,img_width,img_height,tar,callback){
var start=st;
var total=to;
var size=si;
var page=total%size==0?total/size:Math.floor(total/size)+1;
return {
make_list:function(){
$("<div id='face_list'></div><div id='img_list'></div><div id='page_list'></div>").appendTo(tar);
for(var i=1;i<=page;i++){
var $p=$("<a href='javascript:void(0);' page="+i+" style='margin-right:5px;'>第"+i+"页</a>");
$p.click(function(){
var page=$(this).attr("page");
$("#img_list").empty();
var page_start=start+(page-1)*size;
var page_end=start+(page-1)*size+size<start+total?start+(page-1)*size+size:start+total;
for(var i=page_start;i<page_end;i++){
var $img=$("<img src='image/loadding.gif' style='margin:5px;width:"+img_width+";height:"+img_height+"' lazy_src='image/face/image"+i+".gif' title='image"+i+".gif'/>");
$img.click(function(){callback($(this).attr("title"))});
$img.appendTo("#img_list");
}
$("#img_list img").each(function(){
$(this).attr("src",$(this).attr("lazy_src"));
});
});
if(i==1)$p.click();
$p.appendTo($("#page_list"));
};
}
}
};
调用代码:
<script language="javascript">
$(function(){
lee.utils.face_list(135,328,15,72,122,$("#list"),function(name){
$("#user_face").val(name);
$("#select_face").attr("src","image/face/"+name);
}).make_list();
});
</script>