您的位置:首页 > Web前端 > JavaScript

JS列表数据无限下拉

2011-12-21 21:39 417 查看
function getEL(id){return typeof id == "string" ? document.getElementById(id) : id}
function getAbsPoint (e){
e = getEL(e);
var x = e.offsetLeft;
var y = e.offsetTop;
while(e = e.offsetParent){
x += e.offsetLeft;
y += e.offsetTop;
}
return {"x": x, "y": y};
}
var nums = 0;
var per = 10;
var maxHeight = 0;
var $lastItem = null;
var lasttime = (new Date()).valueOf();

function append()
{
var fdid = Request("fd_id");
var nownum = nums-1;
var i = T$('i').value;
var type = T$('type').value;
var div_now = T$('div_now').value;
if(i == 1 && type == 1)
{
//我的好友动态
if(getEL("nomoredata_push"))
{
return;
}
T$(div_now).innerHTML += "<div id='div_"+nums+"'><img src='/images/loading.gif' width='20' height='20'/>正在获取数据,请稍后...</div></div>";
if(getEL("lasttime_push_"+nownum))
{
var lasttime = getEL("lasttime_push_"+nownum).value;
}
getdata("div_"+nums,"/page/ajax_push.php?id="+lasttime+"&flag=1&nums="+nums);
}
else if(i == 0 && type == 1)
{
//我的好友分享
if(getEL("nomoredata_activity"))
{
return;
}
T$(div_now).innerHTML += "<div id='div_"+nums+"'><img src='/images/loading.gif' width='20' height='20'/>正在获取数据,请稍后...</div></div>";
if(getEL("lasttime_activity_"+nownum))
{

var lasttime = getEL("lasttime_activity_"+nownum).value;
}
getdata("div_"+nums,"/page/ajax_activity.php?id="+lasttime+"&flag=1&nums="+nums);
}
else if(i == 0 && type == 2)
{
//Ta的分享
if(getEL("nomoredata_factivity"))
{
return;
}
T$(div_now).innerHTML += "<div id='div_"+nums+"'><img src='/images/loading.gif' width='20' height='20'/>正在获取数据,请稍后...</div></div>";
if(getEL("lasttime_factivity_"+nownum))
{
var lasttime = getEL("lasttime_factivity_"+nownum).value;
}
getdata("div_"+nums,"/page/ajax_factivity.php?id="+lasttime+"&flag=1&nums="+nums+"&go="+go);
}
else if(i == 1 && type == 2)
{
//Ta的好友动态
if(getEL("nomoredata_activity"))
{
return;
}
T$(div_now).innerHTML += "<div id='div_"+nums+"'><img src='/images/loading.gif' width='20' height='20'/>正在获取数据,请稍后...</div></div>";
if(getEL("lasttime_activity_"+nownum))
{
var lasttime = getEL("lasttime_activity_"+nownum).value;
}
getdata("div_"+nums,"/page/ajax_activity.php?id="+lasttime+"&flag=1&nums="+nums+"&go="+go);
}

T$(div_now).innerHTML += "<div id='appendiv_"+nums+"'></div>";
maxHeight = getAbsPoint("appendiv_"+nums).y;
nums++;
}

//获取Url参数
function Request(argname)
{
var url = document.location.href;
var arrStr = url.substring(url.indexOf("?")+1).split("&");
//return arrStr;
for(var i =0;i<arrStr.length;i++)
{
var loc = arrStr[i].indexOf(argname+"=");
if(loc!=-1)
{
return arrStr[i].replace(argname+"=","").replace("?","");
break;
}
}
return "";
}

//滚动到某个位置时 再次加载 per个
var timeId = null;
$(window).scroll(function(){
clearTimeout(timeId);
timeId = setTimeout(function(){
if(
document.documentElement.clientHeight + $(document.documentElement).scrollTop() >= maxHeight
|| document.documentElement.clientHeight + $(document.body).scrollTop() >= maxHeight// 谷歌这个不给力啊,需用document.body.scrollTop()
)
{
append();
}
},100);
});
append();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: