//組合繼承 部分代碼 //構(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)這種情況
這里的同步函數(shù)為什么沒有效果,必須要加個計時器才行?
慕村225694
2018-07-16 11:31:21