0
再次處理我的框架。想要創建一種方法來閃爍一個元素。我需要在方法內設置間隔。所以我想這可能工作:方法內的設置間隔
var optionalSelector = "$";
(function() {
(this[arguments[0]] = function constructor(input) {
if (!(this instanceof constructor)) { return new constructor(input); }
this.elm = document.getElementById(input);
}).prototype = {
blink: function() {
function changeDisplay() {
if (this.elm.style.display != "none") {
this.elm.style.display = "none";
} else {
this.elm.style.display = "block";
}
}
setInterval(changeDisplay, 1000);
},
};
})(optionalSelector);
並調用方法$("anElmId").blink();
但事實並非如此。該方法內的另一個函數,也有一個間隔。我想這兩個東西搞砸了。像它不承認this.elm
。由於我是新手,我無法找出解決這個問題的方法。有任何想法嗎?
好的。最終代碼如下所示:[Fiddle](http://jsfiddle.net/Apazm/3/)。它似乎工作。雖然我有一個問題。你提到關於清除間隔。我怎樣才能做到這一點?例如使用小提琴中的按鈕。 – akinuri
@akinuri我重新格式化了你的代碼,因爲它不必要地爲'(function(){...}())中定義的每個函數創建一個閉包'如果你想將整個東西包裝在自調函數你仍然可以這樣做。 – HMR
我認爲這段代碼中有些東西需要處理=)但是由於實際問題已經解決,我會接受這個。 – akinuri