我一直在編輯一個JQuery插件'airport'並且遇到了問題;jquery插件問題
我想div在代碼中提到的點清除,但是當我使用$(self).empty();代碼就停止了。 (在代碼中間)。
這是我的代碼:
function($){
$.fn.extend({
airport: function(array) {
var self = $(this);
var chars = ['a','b','c','d','e','f','g',' ','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','-'];
var longest = 0;
var items = items2 = array.length;
function pad(a,b) { return a + new Array(b - a.length + 1).join(' '); }
$(this).empty();
while(items--)
if(array[items].length > longest) longest = array[items].length;
spans = longest;
while(spans--)
$(this).prepend("<span class='c" + spans + "'></span>");
function testChar(a,b,c,d){
if(c >= array.length)
setTimeout(function() { testChar(0,0,0,0); }, 500);
else if(d >= array[c].length)
//Div should be cleared here...
setTimeout(function() { testChar(0,0,c+1,0); }, 500);
else {
$(self).find('.c'+a).html((chars[b]==" ")?" ":chars[b]);
setTimeout(function() {
if(b > chars.length)
testChar(a+1,0,c,d+1);
else if(chars[b] != array[c].substring(d,d+1).toLowerCase())
testChar(a,b+1,c,d);
else
testChar(a+1,0,c,d+1);
}, 20);
}
}
testChar(0,0,0,0);
}
});
})(jQuery的);
請告訴我如何清除所有內容的div。提前致謝!
是你的實際代碼$(self)or $(this)?在上面的代碼cuz它是$(this)但$(self)將是錯誤的 – Evan
這是我的實際代碼 –
更改所有$(self)自我 – Evan