【问题标题】:JavaScript document doesn't change after function callJavaScript 文档在函数调用后不会改变
【发布时间】:2012-12-07 23:21:06
【问题描述】:

我正在尝试使用 JavaScript 构建一个简单的 HTML5 音乐播放器。 我用这段代码构建了一个播放器:

<audio controls="controls">
    <source id="song" src="horse.ogg" type="audio/ogg">
</audio>

我已经建立了几个&lt;a&gt; 调用函数changeSong(n);

function changeSong(n) {
    document.getElementById("song").src = "song" + n + ".mp3";
}

当我单击&lt;a&gt; 时,文档没有任何反应,并且它不起作用..

&lt;a&gt; 的:

<a href="#1" onclick="changeSong(1)">Play song 1 </a></br>
<a href="#2" onclick="changeSong(2)">Play song 2 </a>

如何让它发挥作用? ////

我尝试只运行不带函数的 JavaScript,它可以工作。但是当它作为一个函数被调用时,它不会......

【问题讨论】:

  • 你的函数签名是changeSong,但你调用的是playSong
  • 你有没有预览过这个问题是否可读?
  • playSong()的代码在哪里
  • 我不小心调用了 playSong insetad if changeSong,我修复了它,但它仍然不起作用
  • @user1050389 通过using a debugger 单步执行代码。

标签: javascript html document


【解决方案1】:

变化:

<a href="#2" onclick="playSong(2)">Play song 2 </a>

与:

<a href="#2" onclick="changeSong(2)">Play song 2 </a>

这是错字吗?


其实是在console:

document.getElementById("song");
<source id=​"song" src=​"horse.ogg" type=​"audio/​ogg">​
document.getElementById("song").src;
"chrome://newtab/horse.ogg"
document.getElementById("song").src = 'Hi.ogg';
"Hi.ogg"
document.getElementById("song").src;
"chrome://newtab/Hi.ogg"

【讨论】:

  • 我没有使用任何控制台,我只是在 Notepad++ 中编写代码并使用 Chrome 来查看它..
【解决方案2】:

您错过了调用中的方法名称。这有效:

<a href="#1" onclick="changeSong(1)">Play song 1 </a></br>
<a href="#2" onclick="changeSong(2)">Play song 2 </a>

【讨论】:

    【解决方案3】:

    你的目标是什么?不要告诉我你正在尝试调用

    changeSong(1)
    

    点击“播放歌曲 1”。

    只要阅读你的代码,我就可以说改变了

    <a href="#2" onclick="playSong(2)">Play song 2 </a>
    

    <a href="#2" onclick="changeSong(2)">Play song 2 </a>
    

    或者我错过了什么:/

    你能添加一些调试代码到

    changeSong(n){
        document.getElementById("song").src="song"+n+".mp3";
    }
    

    如果有什么事情发生,请告诉我们:)

    【讨论】:

    • 对不起,我只是使用浏览器..我不知道如何调试
    • 你用的是什么浏览器之王?有大量的插件可以帮助你调试你的 js 代码。例如:火狐firebugChromeconsoleIEtutorial
    • 点击此链接,您将学习如何使用 Chrome 进行调试 StackOverFlow
    【解决方案4】:

    我对 HTML5 不熟悉,但我可以找到两个错误。

    1. 您调用的是 playSong 而不是 changeSong

    2. 你应该声明 changeSong 是一个函数:

      function changeSong(n){
          document.getElementById("song").src = "song" + n + ".mp3";
      }
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 2015-04-23
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      相关资源
      最近更新 更多