Javascript和按钮切换

时间:2012-03-04 12:26:42

标签: javascript html5

就在我认为我已对其进行排序时...一个小的切换问题 - 此代码用于在点击时从Play切换到停止,但事实并非如此。我看不出变量的任何问题 - 但是我真的不太了解js。任何人都可以看到为什么这不起作用?代码如下..     var selSound = 8000; //默认为第一个声音。     var play = false; //默认为暂停。

function selectSound(id) {
    selSound = id;
}

function togglePlay() {
    var a = document.getElementById(selSound);
    var b = document.getElementById("playbtn");
    play = !play;
    if (play) {
        b.value = "Stop Playing";
        a.play();
    }
    else {
        b.value = "Start Playing";
        a.pause();
    }
}

HTML:

<div style="text-align:center"><button id="playbtn" data-role="button"     onclick="togglePlay()" >Start Playing</button></div>

这是iOS / html5项目的一部分,将在Safari和iOS模拟器中进行测试。 谢谢 Ĵ

2 个答案:

答案 0 :(得分:1)

你缺少引号:

var a = document.getElementById(selSound);

应该是:

var a = document.getElementById('selSound');

答案 1 :(得分:1)

为什么不使用input type="button"

var play = false;
function togglePlay() {

    var b = document.getElementById("playbtn");
    play = !play;
    if (play) {
        b.value = "Stop Playing";
    }
    else {
        b.value = "Start Playing";

    }
}

和html:

 <input type="button" id="playbtn" data-role="button" value="Start playing" onclick="togglePlay()" />

Demo

修改

使用按钮,您必须使用innerText

var play = false;
function togglePlay() {

    var b = document.getElementById("playbtn");
    play = !play;
    if (play) {
        b.innerText = "Stop Playing";
    }
    else {
        b.innerText = "Start Playing";

    }
}

Demo