我正在制作一个带有声音效果的老式网站。现在我得到了声音效果,但我遇到了一些问题。我想知道如何用一个按钮打开和关闭它们。我想在加载页面时默认打开它们,然后你可以打开或关闭它。
当你进入网站并点击链接等时,我就开始玩它们。但现在我想把它们全部静音。 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次点击时播放(或者在第4次鼠标悬停时播放)。 我希望有人能说出我在这里做错了什么
答案 0 :(得分:1)
我 tink 这将根据您所说的内容发挥作用。看起来你是在过度思考,这在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();
});
});
让我知道它是怎么回事。
答案 1 :(得分:0)
我唯一需要改变的是
galleryleft.play(); galleryLeft.currentTime = 0;
我将其改为:
galleryleft.pause;
但是对于其他人而言,这比我的剧本更有意义。的确,我过于复杂。我欠你一杯啤酒......