0

我正在制作一个带有音效的老式网站。现在我可以运行音效了,但我遇到了一些问题。我想知道如何使用按钮将它们全部打开和关闭。我希望在加载页面时默认打开它们,然后您可以打开或关闭它。

当您进入网站以及单击链接等时,我尽可能让它们播放。但是现在我想将它们全部静音。Jquery .on 和 .off 对我不起作用...我想我在这里做错了什么,我对 javascript 不是那么精通:

var siteAudio = function () {
 if ( $(".turn-off").hasClass("turnedon") ) {   


var galleryleft = $("#galleryleft")[0];
$(".arrowleft").click(function() {
galleryleft.play();
});

}
else {
var galleryleft = $("#galleryleft")[0];
$(".arrowleft").click(function() {
galleryleft.pause();
});

}


$( ".turn-off" ).click(function() {
$('.turn-off').toggleClass('turnedon');
$('.turn-off').toggleClass('turnedoff');
$(siteAudio).off();
});

window.onload = function () {
$(siteAudio).on();
}

现在这可以工作了,但是声音应该完全关闭,而是在您第四次单击某些东西时播放(或者在使用鼠标悬停时第四次播放。)我希望任何人都可以在这里说出我做错了什么

4

2 回答 2

1

认为这将根据您所说的进行。看来你想多了,这在 jQuery/javascript 中很常见 :)

$(document).ready( function() {
  var galleryleft = $("#galleryleft")[0];
  var gallerySoundOn = true;


  $( ".turn-off" ).click( function(e) {
    if( gallerySoundOn ) { gallerySoundOn = false; }
    else { gallerySoundOn = true; }
    e.preventDefault();
  });

  $(".arrowleft").click( function(e) {
    if( gallerySoundOn ) { galleryleft.play(); }
    else { galleryleft.play(); galleryLeft.currentTime = 0; }
    e.preventDefault();
  });

});

让我知道事情的后续。

于 2013-08-22T19:54:41.017 回答
0

Simey,您刚刚向我提供了我需要的信息 :),非常感谢您!

我唯一需要改变的是

galleryleft.play(); galleryLeft.currentTime = 0;

我把它改成:

galleryleft.pause;

但对于其余部分,这比我的脚本更有意义。事实上,我把事情复杂化了。我欠你一杯啤酒...

于 2013-08-23T10:01:17.453 回答