手动和自动幻灯片放映冲突

问题描述

我在手动和自动幻灯片播放方面遇到问题。如果按下手动幻灯片放映按钮,我找不到如何在函数init_slideshow中重置setInterval的解决方案。 js代码

function iterator(a) {
    if (!Array.isArray(a)) {
        return;
    }
    
    let nextIndex = 0;
    return function next(b) {
        if (b == undefined) {
            if (nextIndex == a.length) {
                throw "error";
            } else {
            return a[nextIndex++];  
            }

        }   else if(Array.isArray(b)) {
            a = b;
            nextIndex = 0;
            return next;
            // return iterator(b);
        } else {
            return nextIndex+= b;
        }
    }
    
    
}

function init_slideshow(image_urls,dom,automatic = false,delay = 3000)
{   
    let v = iterator(image_urls);
    function slideshow() {
        let img = "";
        try {
            img = v();
        } catch {
            v(image_urls);
            img = v();
        }
        dom.src = img;
    }
    slideshow();
    let t = setInterval(slideshow,delay);
    if (automatic) {
        return t; 
    } else { 
        return slideshow;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)