为什么我不能声明一个变量,将它转换为一个整数并在我的代码中使用该整数?

时间:2015-05-01 20:34:38

标签: javascript html5-audio

我正在尝试创建音频文件的播放列表。 html包含三个音频标签:

<ul id="myAudio">
    <li>
        <audio class="audio" id="1" controls>
            <source src="_audio/Clear_Vision.mp3" type="audio/mpeg" />
        </audio>
    </li>
    <li>
        <audio class="audio" id="2" controls>
            <source src="_audio/Greensleeves.mp3" type="audio/mpeg" />
        </audio>
    </li>
    <li>
        <audio class="audio" id="3" controls>
            <source src="_audio/Pavane21Sec.mp3" type="audio/mpeg" />
        </audio>
    </li>
</ul>

到目前为止,我的javascript(jquery)是:

$(document).ready(function(){
    var audioElement = document.createElement('audio');

    var x = 1;
    x = parseInt(x);


    var deisredAudio = $('source:nth(0)').attr('src');

    audioElement.setAttribute('src', deisredAudio);

    $.get();

    audioElement.addEventListener("load", function(){
        audioElement.play();
    }, true);

    $('#playAudio').click(function(){
        audioElement.play();
    });

    $('#pauseAudio').click(function(){
        audioElement.pause();
    });
});

只要我在$('source:nth(0)')中有一个整数,这就会播放音轨。

这将播放第一个音频,$('source:nth(1)')将播放第二个音频,依此类推。

我需要做的是插入一个变量,最终创建一个循环来循环播放音轨。

当我声明变量x = 1,然后将其插入$('source:nth(x)')时,它不起作用。

请注意,我是用JavaScript自学的。

非常感谢任何帮助或见解。

1 个答案:

答案 0 :(得分:5)

您需要将其从引号中取出并使用字符串连接将其传递到:nth()

$('source:nth(' + x + ')')

...否则您将使用字符文字&#34; x&#34;。