第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這里的同步函數(shù)為什么沒有效果,必須要加個計時器才行?

這里的同步函數(shù)為什么沒有效果,必須要加個計時器才行?

慕村225694 2018-07-16 11:31:21
//組合繼承 部分代碼 //構(gòu)造函數(shù) 傳入一個id 生成一個輪播圖對象     function Slider (id) {         this.create(id)     };     //定義原型     Slider.prototype = {         create: function (id) {                         this.list = document.getElementById('list');                         ...                         ...                         ...             //初始化實例中的dom以及屬性     **初始狀態(tài)沒有transition**         },         animate: function (offset,animateDuration) {             //獲取的是style.left,是相對左邊獲取距離,所以第一張圖后style.left都為負(fù)值,             //且style.left獲取的是字符串,需要用parseInt()取整轉(zhuǎn)化為數(shù)字。             this.list.style.transition = `left ${animateDuration} linear`;//看這里!             var newLeft = parseInt(this.list.style.left) + offset;             this.list.style.left = newLeft + 'px';  //看這里!         },     };     var slider = new Slider('container');     /*setTimeout(function () {         slider.animate(-300,'1s')     },0)  只有異步才有效,刷新有動畫 */     slider.animate(-300,'1s')   //無效,沒有動畫,刷新直接跳轉(zhuǎn)遇到這么一個問題, slider.animate(-300,'1s') 無效,必須放計時器里才用動畫為什么會出現(xiàn)這種情況
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗 獲得超6個贊

一個動畫要有起始狀態(tài)和結(jié)束狀態(tài),這樣就必須經(jīng)過兩次頁面渲染才能確定兩個狀態(tài)、
我在你上一問題中說了:一個js代碼的線程執(zhí)行結(jié)束頁面才會重新渲染。
就是說,在js線程執(zhí)行前是動畫的起始狀態(tài),在js線程執(zhí)行后是動畫的結(jié)束狀態(tài)。

如果你在一個js線程中同時設(shè)置動畫的起始狀態(tài)和動畫的結(jié)束狀態(tài),這樣在設(shè)置動畫的起始狀態(tài)后頁面不會重新渲染。也就不能形成動畫了


查看完整回答
反對 回復(fù) 2018-07-28
  • 1 回答
  • 0 關(guān)注
  • 645 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號