0

我有一个 for 循环附加到音频文件上的侦听器,该文件根据音频的时间位置显示(动画)对象。这一切都有效。问题是在 Safari 5.1.5 中只有第一个对象动画,其余的才变得可见(出现在屏幕上,没有动画)。我想知道是否有人以前看过这个,以及是否有解决方法。

function loadAudio() {

aud = document.getElementById("audio");
aud.src = xmlDoc.getElementsByTagName("cues")[0].getAttribute("audioURL");
aud.load();
aud.addEventListener("timeupdate", function(){
    for(var i = 0; i<cues.length; i++) {
    if(aud.currentTime >= cues[i].time && !cues[i].on) {
        q = cues[i].p;
        cues[i].on = true;
        //alert(q);
        $(q).css({opacity: 0.0, visibility: "visible"}).stop().animate({opacity: 1.0});

    }
}

});

}
4

1 回答 1

0

我见过类似的东西,虽然与音频完全无关。如果您使用将最终的 .css() 调用放入它自己的 setTimeout() 中,可能会修复它。请参阅:Safari:绝对定位的 DIV 在通过 DOM 更新时不会移动

于 2012-08-13T11:32:54.263 回答