7

我需要 HTML5 视频播放器的提示点。我找到了 Cuepoint.js,除了这只是用于字幕之类的东西。当击中提示点时,我需要更改文本以外的其他内容。

我有点自己制定了提示点逻辑,但我觉得它没有达到应有的效率。我现在正在处理一小部分时间,这没什么大不了的。恐怕当我进入数百个时,它可能会导致一些性能问题。

这就是我想出的,而且非常准确:

function timeUpdate(event)
{
    var times = [3,8,13,19,25];
    currentTime = player.currentTime();
    $.each(times,function(key, value)
    {
        if (currentTime >= times[key] && currentTime <= times[key] + 0.3)
        {
            currentIndex++;
            loadAssets(currentIndex);
        }   
    });
}

times数组只是一个例子。有没有更有效的方法来做到这一点,还是差不多?

4

1 回答 1

1

Ronnie,你不需要遍历那个数组。如果项目是有序的,只需检查第一个,然后将 currentIndex 加一。

function timeUpdate(event)
{
    var times = [3,8,13,19,25];
    currentTime = player.currentTime();

    if (currentTime >= times[currentIndex])
    {
        currentIndex++;
        loadAssets(currentIndex);
    }   
}
于 2015-08-12T23:52:39.223 回答