0
我正要通過carasoul.js的代碼和整個下面一行代碼::爲什麼在'bsTransitionend'中'setTimeout'?
setTimeout(function() {
that.$element.trigger(slidEvent)
}, 0)
傳來好它很簡單的東西上面一行代碼是幹什麼的,下面的一行代碼::
that.$element.trigger(slidEvent)
在0間隔執行的,現在我的問題是,什麼是這段代碼的情況下,如果所有的作者想要的是立即運行功能/執行的代碼行,他可以在沒有settimeout的情況下完成了,就像在這種情況下一樣,
,而不是::
setTimeout(function() {
that.$element.trigger(slidEvent)
}, 0)
筆者可能剛纔寫的代碼::
that.$element.trigger(slidEvent)
那麼爲什麼在設定的時間出來,什麼是它的上下文以下幾行?下面
是整個代碼段,使得它更有意義::
$active
.one('bsTransitionEnd', function() {
$next.removeClass([type, direction].join(' ')).addClass('active')
$active.removeClass(['active', direction].join(' '))
that.sliding = false
setTimeout(function() {
that.$element.trigger(slidEvent)
}, 0)
})
整個代碼也可以在GIT中here.(線156)中發現。
重複我的問題,爲什麼setTimeout使用時,它似乎什麼都不做?
但後來爲什麼'0'的間隔,使是絕對沒有意義?我的意思是'0'的區間。 –
,因爲您在setTimeout隊列中設置了函數,並在下一個循環中setTimeout隊列被選中時執行了您的方法 – SharpEdge