要顯示5張圖 ,布置5123451 7張圖實際思路上就是最后一張滾到第一張實際是順著滾,動畫結束再取消transition切回第一張再附加transition現在我遇到這個個問題/...5->1執行的代碼(有滾動動畫).../
if (newLeft === -3600) {
setTimeout(function () {
list.style.transition = 'none'; //取消動畫
list.style.left = -600 + 'px'; //瞬間回滾
list.style.transition = 'left 2s linear';//恢復動畫 //但是這句話回滾的時候會生效是為什么
},2000)這么寫回滾的時候動畫會生效必須要用下面的寫法,第二個計時器必須大于2000幾個毫秒才滿足需求,為什么會發生這種事情,計時器里面回調函數應該是同步的呀, list.style.left = -600 + 'px';不執行完后面應該是不會設置動畫的呀?if (newLeft === -3600) {
setTimeout(function () {
list.style.transition = 'none';
list.style.left = -600 + 'px';
},2000)
setTimeout(function () {
list.style.transition = 'left 2s linear';
},2020)這里我發現:間隔時間1-4秒基本沒用給,間隔10ms偶爾會出現回滾動畫,設置20ms基本沒問題實際上還是剛剛的問題,js是單線程,會阻塞,2000ms執行的代碼如果不執行完,2010ms是不會把異步代碼拿來執行的,如果執行完了,那么我這個回滾應該是沒有動畫的。求大神解釋一下?
無限滾動,transiton小bug怎么修復
UYOU
2018-07-22 12:14:38