我在ES5中使用面向对象的方法在单个HTML中有多个轮播。每个滑块会在不同的时间间隔自动滑动。在调整大小期间,我具有函数resizeEverything()
来调整滑块中所有组件的大小。但是问题是当我调整窗口大小时,图像的方向会受到干扰。
我用来制作轮播的技术是
var moving=true;
setInterval(()=>{
//subtract wrapper.style.left by small factor until imageWidth
//clear Interval once destination has arrived and set moving=false
}
现在调整大小后,我想将位置重置为currentIndex
的 style.left (当移动变为假时)。
我尝试了一些似乎不起作用的promise方法。
resizeEverything();
for(var i=0; i<carouselObjects.length; i++){
new Promise(function(resolve = ()=>{
wrappers[i].style.left = -(carouselObjects[i].currentIndex*carouselObjects[i].imageWidth);
}, reject = ()=>{
console.log("PROMISE ERROR");
}){
var myInterval = setInterval(()=>{
if(carouselObjects[i].moving==false){
clearInterval(myInterval);
resolve();
}
},500);
});
}