滑輪滾動(dòng)到頁(yè)面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
更新時(shí)間:2013年05月13日 17:14:08 作者:
滾動(dòng)下拉到頁(yè)面底部加載數(shù)據(jù)是很多瀑布流網(wǎng)站的做法,那來(lái)看看配合jsonp是如何實(shí)現(xiàn)的吧,小菜總結(jié)記錄之用特在此與大家一起分享,感興趣的朋友可以參考下哈
滾動(dòng)下拉到頁(yè)面底部加載數(shù)據(jù)是很多瀑布流網(wǎng)站的做法,那來(lái)看看配合jsonp是如何實(shí)現(xiàn)的吧,小菜總結(jié)記錄之用,高手勿噴。
當(dāng)然本例子采用的是jquery庫(kù),后期會(huì)做成原生js。
本例的數(shù)據(jù)調(diào)用的是鋒利的jquery一書提供的一段json。
首先要先判斷頁(yè)面怎么樣才是滾動(dòng)到底部,也就是scrollTop+window的height是否大于document的height,jquery如下代碼: $(window).scrollTop()+$(window).height()>=$(document).height();
再給window綁定scroll事件。所以整個(gè)頁(yè)面demo可以這樣做:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
* { margin:0; padding:0;}
body { font-size:12px;}
p{ margin: 5px;}
.box{ padding: 10px;}
</style>
<!-- 引入jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$(window).bind('scroll',function(){show()});
function show()
{
if($(window).scrollTop()+$(window).height()>=$(document).height())
{
ajaxRead();
}
}
function ajaxRead()
{
var html="";
$.ajax({
type:'get',
dataType:'jsonp',
url:'http://api.flickr.com/services/feeds/photos_public.gne?tags=car&tagmode=any&format=json&jsoncallback=?',
beforeSend:function(){console.log('loading...')},
success:function(data){
$.each(data.items,function(i,item){
html+='<div class="box">';
html+='<h1>'+item.title+'</h1>';
html+='<a hreft="'+item.link+'"><img src="'+item.media.m+'"/></a>'
html+='<div>'+item.tags+'</div>';
html+='</div>';
});
$("#resText").append($(html));
},
complete:function(){console.log('mission acomplete.')}
});
}
})
</script>
</head>
<body>
<p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p>
<div id="resText" >
</div>
</body>
</html>
拉到底部就是實(shí)現(xiàn)異步數(shù)據(jù)加載了,當(dāng)然了,實(shí)際項(xiàng)目還要加上如果沒(méi)數(shù)據(jù)了要怎么顯示,怎么操作。這些加判斷就行了。
當(dāng)然本例子采用的是jquery庫(kù),后期會(huì)做成原生js。
本例的數(shù)據(jù)調(diào)用的是鋒利的jquery一書提供的一段json。
首先要先判斷頁(yè)面怎么樣才是滾動(dòng)到底部,也就是scrollTop+window的height是否大于document的height,jquery如下代碼: $(window).scrollTop()+$(window).height()>=$(document).height();
再給window綁定scroll事件。所以整個(gè)頁(yè)面demo可以這樣做:
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
* { margin:0; padding:0;}
body { font-size:12px;}
p{ margin: 5px;}
.box{ padding: 10px;}
</style>
<!-- 引入jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$(window).bind('scroll',function(){show()});
function show()
{
if($(window).scrollTop()+$(window).height()>=$(document).height())
{
ajaxRead();
}
}
function ajaxRead()
{
var html="";
$.ajax({
type:'get',
dataType:'jsonp',
url:'http://api.flickr.com/services/feeds/photos_public.gne?tags=car&tagmode=any&format=json&jsoncallback=?',
beforeSend:function(){console.log('loading...')},
success:function(data){
$.each(data.items,function(i,item){
html+='<div class="box">';
html+='<h1>'+item.title+'</h1>';
html+='<a hreft="'+item.link+'"><img src="'+item.media.m+'"/></a>'
html+='<div>'+item.tags+'</div>';
html+='</div>';
});
$("#resText").append($(html));
},
complete:function(){console.log('mission acomplete.')}
});
}
})
</script>
</head>
<body>
<p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p><p>往下拉</p>
<div id="resText" >
</div>
</body>
</html>
拉到底部就是實(shí)現(xiàn)異步數(shù)據(jù)加載了,當(dāng)然了,實(shí)際項(xiàng)目還要加上如果沒(méi)數(shù)據(jù)了要怎么顯示,怎么操作。這些加判斷就行了。
您可能感興趣的文章:
- 基于JavaScript實(shí)現(xiàn)鼠標(biāo)向下滑動(dòng)加載div的代碼
- js實(shí)現(xiàn)滑動(dòng)到頁(yè)面底部自動(dòng)加載更多功能
- js/jquery控制頁(yè)面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法
- 當(dāng)滾動(dòng)條滾動(dòng)到頁(yè)面底部自動(dòng)加載增加內(nèi)容的js代碼
- js實(shí)現(xiàn)滾動(dòng)條滾動(dòng)到頁(yè)面底部繼續(xù)加載
- JavaScript實(shí)現(xiàn)頁(yè)面滾動(dòng)圖片加載(仿lazyload效果)
- 使用jQuery或者原生js實(shí)現(xiàn)鼠標(biāo)滾動(dòng)加載頁(yè)面新數(shù)據(jù)
- JS圖片根據(jù)鼠標(biāo)滾動(dòng)延時(shí)加載的實(shí)例代碼
- 解析javascript瀑布流原理實(shí)現(xiàn)圖片滾動(dòng)加載
- JS簡(jiǎn)單實(shí)現(xiàn)滑動(dòng)加載數(shù)據(jù)的方法示例
相關(guān)文章
發(fā)現(xiàn)個(gè)AJAX圖片瀏覽器SIMPLEVIEWER
發(fā)現(xiàn)個(gè)AJAX圖片瀏覽器SIMPLEVIEWER...2007-04-04談?wù)凙jax原理實(shí)現(xiàn)過(guò)程
Asynchronous javascript and xml(ajax),實(shí)現(xiàn)了客戶端與服務(wù)器進(jìn)行數(shù)據(jù)交流過(guò)程。使用技術(shù)的好處是:不用頁(yè)面刷新,并且在等待頁(yè)面?zhèn)鬏敂?shù)據(jù)的同時(shí)可以進(jìn)行其他操作2015-11-11ajax的定時(shí)調(diào)用每5秒調(diào)用一次
這篇文章主要介紹了關(guān)于ajax的定時(shí)調(diào)用,本例為每5秒調(diào)用一次,大家可以根據(jù)自己的需求更改2014-05-05AJAX如何實(shí)現(xiàn)無(wú)刷新登錄功能
點(diǎn)擊登錄按鈕時(shí)彈出登錄窗口,輸入正確的用戶名密碼后點(diǎn)擊登錄則登錄窗口關(guān)閉,狀態(tài)改為當(dāng)前用戶名.這篇文章主要介紹了AJAX如何實(shí)現(xiàn)無(wú)刷新登錄功能,需要的朋友參考下2017-01-01ajax跨域獲取網(wǎng)站json數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇ajax跨域獲取網(wǎng)站json數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12如何實(shí)現(xiàn)ajax延時(shí)發(fā)送在空閑之后去發(fā)送ajax請(qǐng)求
關(guān)鍵字搜索的功能,還是比較實(shí)用的,在實(shí)現(xiàn)過(guò)程中就需用到ajax延時(shí)發(fā)送,下面有個(gè)不錯(cuò)的示例,有需要的朋友可以參考下2013-12-12html+js+php一次原始的Ajax請(qǐng)求示例
雖然jquery的ajax要比原始的寫法容易得多,我們還是應(yīng)該了解原始的寫法,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-04-04