javascript - 幻灯片中的圆圈不会返回非事件状态

标签 javascript

我有以下函数,它根据计数变量更改 slider 中的图片。还将一个圆圈设置为事件状态。现在的问题是,即使图片发生变化,圆圈仍然保持事件状态。我怎样才能使它们再次处于非事件状态,并且只有属于该图片的那个处于事件状态?

function picChange(counter) {

 if (counter == 0) {
        slide.src = "slike/slide_1.png";
        circle1.src = "slike/active.png";
 }

 else if (counter == 1) {
        slide.src = "slike/prva.jpg";
        circle2.src = "slike/active.png";
 }

  else if (counter == 2) {
        slide.src = "slike/slide_1.png";
        circle3.src = "slike/active.png";
 }

   else {
        slide.src = "slike/druga.jpg";
        circle4.src = "slike/active.png";
 }

}

最佳答案

您还可以使用闭包来保存对事件圈的引用。

var picChange = (function () {
    var activeCircle = null;

    return function (counter) {
        activeCircle && activeCircle.src = "slike/inactive.png"; // or ''?

        if (counter == 0) {
            slide.src = "slike/slide_1.png";
            activeCircle = circle1;
        } 

        else if (counter == 1) {
            slide.src = "slike/prva.jpg";
            activeCircle = circle2;
        } 

        else if (counter == 2) {
            slide.src = "slike/slide_1.png";
            activeCircle = circle3;
        }

        else {
            slide.src = "slike/druga.jpg";
            activeCircle = circle4;
        }

        activeCircle.src = "slike/active.png";
    };
})();

关于javascript - 幻灯片中的圆圈不会返回非事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446773/

相关文章:

javascript - 在RethinkDB中获取replace(function() {})中的实际字段值

javascript - 选择父元素类

javascript - 是否可以使用 React Navigation 在 React Native 中的自定义和默认转换之间切换?

javascript - 不使用 SWFObject 使嵌入的 YouTube 视频静音

javascript - 使用 iframe 的内容在页面上执行 jquery .click()

javascript - Angular UI Router - 如何将解析数据从父状态传递到嵌套 View

javascript - 我是否正确使用了 promise ?

javascript - foreach 中的 Discord.JS addField 不起作用

javascript - Gulp4 - 任务未完成并忘记发出异步完成信号

javascript - 无法使用 Universal Analytics 代码为外部链接创建自定义页面跟踪 URL