2015-09-04 55 views
0

你好stackovercool社区,HTML音频无w/o控件暂停文本点击

我想在我的网站上设置一个声音播放器,并在页脚显示曲目的标题。目前为止这么好,但我想在点击文字标题时将音乐静音。我也喜欢在暂停时更改文字的不透明度。

对不起,我的JS知识缺乏准确的知识。我经过各种研究后尝试过,但没有奏效。

function play(idPlayer) { 
    var player = document.querySelector('#' + idPlayer); 

    if (player.played) { 
     player.pause(); 
     player.style.opacity = "0.5"; 
    } else { 
     player.play(); 
     player.style.opacity = "1"; 
    } 
} 

https://jsfiddle.net/65zup3od/

它主要是基于这个TUTS https://openclassrooms.com/courses/dynamisez-vos-sites-web-avec-javascript/l-audio-et-la-video

我衷心感谢你在您的帮助!

+0

小提琴不会暂停的原因是您选择了“onDomReady”选项,而您应该选择“No Wrap-in head”选项。这会将所有js代码放入响应文档加载时触发的函数中。这意味着当你的html被点击时,它不能'找到'你写的'play'函数,因为它不是全局命名空间的一部分,而是隐藏在(jsfiddle added)函数中,小提琴已经加载。这会让你成为你的一部分。剩下的就是在AudioContext上使用你的调试器和MDN帮助。 ;) – enhzflep

+0

我看到,有趣的“概念”上我应该进一步挖掘,谢谢你的解释。我花了一个多小时没有任何具体的结果,但这可能让我有些地方,最终8) 同样的情况发生在我的wordpress上,我在一个自定义字段中输入J​​S,并且Firebug告诉我游戏没有被定义。我认为这可能与声明函数播放(audioPlayer)有关。var player = document.querySelector('#audioPlayer');而不是函数播放(idPlayer)var player = document.querySelector('#'+ idPlayer);但没有奏效。 – user3638959

+0

@enhzflep在这个小提琴中,代码仅用于暂停,不播放或修改不透明度https://jsfiddle.net/65zup3od/1/。它在我的网站上完全不起作用,在编辑器中,我看到在的末尾输出了自定义JS,但是其中存在默认代码,我的猜测是,导致函数发生错误,因为它与什么有关你向我解释。 – user3638959

回答

0

https://jsfiddle.net/65zup3od/3/ 如果任何人想要类似的东西,这里的工作答案。

仍然没有在我的WordPress的作品,虽然,我认为是因为

var $j = jQuery.noConflict(); $j(document).ready(function() 

我想这个问题就解决了呢。