镜像功能做相反的事情

时间:2012-11-28 09:09:08

标签: javascript jquery audio

我有这个事件通过淡化它来改变我的音乐

    $(bgMusic).on('timeupdate', function () {
    var vol = 1,
        interval = 250;
    if (bgMusic.volume == 1) {
        var intervalID = setInterval(function () {
            if (vol > 0) {
                vol -= 0.05;
                bgMusic.volume = vol.toFixed(2);
            } else {
                clearInterval(intervalID);
            }
        }, interval);
    }
});

我现在想要开启音乐一样。

我试过像这样创造相反的东西:

    $(bgMusic).off('timeupdate', function () {
    var vol = 0,
        interval = 250;
    if (bgMusic.volume == 0) {
        var intervalID = setInterval(function () {
            if (vol < 0) {
                vol += 0.05;
                bgMusic.volume = vol.toFixed(2);
            } else {
                clearInterval(intervalID);
            }
        }, interval);
    }
});

我哪里错了?

3 个答案:

答案 0 :(得分:2)

如果你改变:

if (vol < 0) {

为:

if (vol < 1) {

...我认为音量应该逐渐增加,直到它达到最大值1,从而给你&#34;淡入&#34;你要求的效果。

答案 1 :(得分:1)

不确定您的代码,但我认为您不想在第二个示例中使用off函数。

jQuery off:

  

描述:删除事件处理程序。

因此,请尝试使用on的第二个代码,因为您要注册该事件,而不是删除它。

答案 2 :(得分:0)

因为你的音量是0,所以它不会进入if条件.. if (vol < 0) {... 它应该是

   if (vol < 1) {
            vol += 0.05;
            bgMusic.volume = vol.toFixed(2);
        } else {
            clearInterval(intervalID);
        }