2
我想創建一個類似彗星的東西。我有一個從php頁面收集數據的插件。問題是我不知道如何調用內部的插件。在自己內部調用一個jQuery插件
如果這是一個函數,我可以這樣做:function j() {setTimeout(j(), 1000);}
,但我使用的是一個jQuery插件。
這裏是我的插件代碼:
(function($) {
$.fn.watch = function(ops) {
var
$this_ = this,
setngs = $.extend({
'type' : 'JSON',
'query' : 'GET',
'url' : '',
'data' : '',
'wait' : 1000
}, ops);
if (setngs.type === '') {
return false;
} else if (setngs.query === '') {
return false;
} else if (setngs.url === '') {
return false;
} else if (setngs.wait === '') {
return false;
} else if (setngs.wait === 0) {
setngs.wait = 1000;
}
var xhr = $.ajax({
type : setngs.query,
dataType : setngs.type,
url : setngs.url,
success : function(data) {
var i = 0;
for (i = 0; i < data.length; i++) {
var html = $this_.html(), str = '<li class="post" id="post-' + data[i].id + '"><div class="inner"><div class="user">' + data[i].user + '</div><div class="body">' + data[i].body + '</div></div></li>';
$this_.html(str + html);
}
setTimeout($this_, 1000);
}
});
};
})(jQuery);
它說:setTimeout($this_, 1000);
這就是有問題的IM。我不知道該把這個插件叫做什麼。 $this_
是我認爲可能工作,但我錯了。這是我需要替換的。
感謝您的幫助。
怎麼樣變量$ THIS_ = $ .fn.watch; ?關閉完成的功能應該允許通話...不是100%,但似乎對我有意義。 +1雖然爲.call和討論這個上下文 –