【问题标题】:Stop iteration when end of data objects are reached到达数据对象的末尾时停止迭代
【发布时间】:2015-10-07 16:28:38
【问题描述】:

使用 TweenMax 库,当到达数据对象的末尾时,我无法杀死或停止 delayedCall 而不是循环,因为它是一个自调用函数。

https://jsfiddle.net/rdzo13cf/6/

在上面的示例中,数据中的最后一项没有显示。

【问题讨论】:

    标签: javascript gsap


    【解决方案1】:

    实际上这是因为您在设置 iter 变量之前对其进行了递增。这导致它不显示最后一项,您想在之后增加:

    function setContent() {
        element.html(data[iter].content);
        iter = iter >= data.length-1 ? -1 : iter;
        iter = iter + 1;    
    }
    

    基本上,当您想要遍历 [0,1,2] 时,您会遍历索引 [1,2,3]

    Fiddle Example

    【讨论】:

    • 如果我这样做 data[iter] 在最后一项之后未定义。
    • @AsaCarter 啊,你的权利,因为偏移量的变化你想做data.length-1 ? -1 : iter 而不是data.length ? -1 : iter
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多