※ 引述《FIFA5566 (身高188體重75愛踢足球)》之銘言:
: 原PO 去年六月從高雄某國立科大 資管 學士畢業
: 畢業10天後剃光頭 開始親愛精誠報效國家
: 上禮拜剛退伍 於是開始翻翻104準備著手面試
: 我想找的工作是PHP programming,對這塊比較有興趣
: 大學專題用:PHP,MSSQL,jQuery撰寫,hyper-v的機器上跑
: 透過facebook api來實現Open ID
: 同時有用一小部分的ADOMD.net FrameWork 完成5維cube,用來實現資料倉儲的OLAP
: 專題目的為快速找到使用者過去所發表的動態、圖片
: 並快速的管理、刪除過去在FB上的資料,以及找出誰最關注你,關注你哪些動態的系統
: 專題最後有寫出來,並且有拿到國科會大專生補助
: 專題PHP部分有用到的地方: 1.寫Search engine
: 2.搭配jQuery用遞迴寫類似Facebook的無限滾輪向下載入
: 3.query來query去
不好意思 單純好奇 您的作品有做過:
2. jQuery用遞迴寫類似Facebook的無限滾輪向下載入
因為小弟也自己寫了一個類似的功能
想不透的是infinite scroll為什麼要用遞迴寫?
下面是我寫的版本 沒有需要遞迴阿= =?
$.fn.infinitescroll = function(options) {
var $me = this,
didScroll = false,
args = Array.prototype.slice.call(arguments, 1),
size = 'size',
start = 'start';
var defaults = {
url: undefined,
loader: '#loadmoreajaxloader',
timeout: 10000,
callback: function() {},
error: function() {},
noDataCallback: function() {},
data: {},
start: 0,
size: 10,
dataType: 'html',
method: 'POST'
};
var opts = $.extend(true, {}, defaults, options),
$loader = $(opts.loader);
$(window).scroll(function() {
didScroll = true;
});
var interId = setInterval(function() {
if(didScroll) {
didScroll = false;
if($(window).scrollTop() + $(window).height() >
$(document).height() - 100) {
$loader.show();
$.ajax({
url: opts.url + '?start=' + opts.start + '&size=' +
opts.size,
type: opts.method,
data: opts.data,
success: function(data) {
if(data) {
$me.append(data);
$loader.hide();
opts.start += opts.size;
opts.callback.apply($me.get(0), args);
} else {
$loader.html('<div class="intro ta-center">No data found.</div>');
opts.noDataCallback.apply($me.get(0), args);
clearInterval(interId);
}
},
error: function() {
opts.error.apply($me.get(0), args);
clearInterval(interId);
},
timeout: opts.timeout
});
}
}
}, 250);
}