2014-04-03 28 views
1

按鈕的不透明度立即變爲0.9,而不是在每0.1增量前等待500毫秒。Javascript按鈕樣式不透明度沒有正確更改

注意事項:我已經把它放在我的代碼中的窗口加載處理程序中,所有元素都已經加載得很好,並且正在執行循環。但爲什麼它沒有給它500毫秒的休息時間呢?它立即變成0.9。

var interval = window.setInterval(login(),500); 
var button=document.getElementById("login_btn"); 
var opacity = 0.1; 
function login(){ 
    if(opacity >= 0.9){ 
     window.clearInterval(interval); 
    }else{ 
     button.style.opacity=opacity; 
     opacity+=0.1; 
    } 
} 

回答

4

setInterval的第一個參數需要是一個函數。

您傳遞調用login返回值(這是undefined),所以login被立即調用,以確定返回值是什麼。

刪除()

+0

嗯..我確實把它放在一個函數中,並嘗試它,循環甚至不執行:S – DaBaws

+0

@TalhaTanveer - 定義「把它放在函數中」,因爲這聽起來像你做了很多事情那麼我的建議就更復雜了。 – Quentin

+0

http://imgur.com/2yKYhwj是指圖片.... – DaBaws