Javascript 如果身体有类在mp3声音淡入,否则淡出
如果主体具有fp-VIGING-0类,我尝试将mp3音量衰减为1 这怎么会不起作用,而且音量也不会改变?我该如何解决这个问题 代码:Javascript 如果身体有类在mp3声音淡入,否则淡出,javascript,jquery,jquery-animate,html5-audio,Javascript,Jquery,Jquery Animate,Html5 Audio,如果主体具有fp-VIGING-0类,我尝试将mp3音量衰减为1 这怎么会不起作用,而且音量也不会改变?我该如何解决这个问题 代码: var audio0 = document.getElementById('audio-0'); audio0.volume = 0; setInterval( function(){ if ($("body").hasClass("fp-viewing-0")) { audio0.animate({volume:
var audio0 = document.getElementById('audio-0');
audio0.volume = 0;
setInterval( function(){
if ($("body").hasClass("fp-viewing-0")) {
audio0.animate({volume: 1}, 1000);
}
else {
audio0.animate({volume: 0}, 1000);
}
}, 100);
HTML
亲切的问候 我已将jquery动画部分更改为手动淡入淡出。为此,我创建了一个淡入淡出时间和步骤计数来操纵淡入淡出效果
var audio0 = document.getElementById('audio-0');
audio0.volume = 0;
if ($("body").hasClass("fp-viewing-0")) {
audio0.volume = 1; //max volume
var fadeTime = 1500; //in milliseconds
var steps = 150; //increasing makes the fade smoother
var stepTime = fadeTime/steps;
var audioDecrement = audio0.volume/steps;
var timer = setInterval(function(){
audio0.volume -= audioDecrement; //fading out
if (audio0.volume <= 0.03){ //if its already inaudible stop it
audio0.volume = 0;
clearInterval(timer); //clearing the timer so that it doesn't keep getting called
}
}, stepTime);
}
非常感谢。如果if条件使音频淡出,我将如何处理else语句?我可以在else条件中添加什么使音频淡出?@Neths我不确定我是否理解你的问题。如果
正文中有fp-viewing-0
类,则最后一个块中的if
会使音频淡入淡出状态,否则它不会做任何事情。它以前也有volume=0
。因此,最终的结果是,如果类存在,它会淡出音频,否则你将听不到任何声音。如果删除上面的audio0.volume=0
,则如果该类存在,它将淡出,否则它将保持音频播放。
$("#audio-0").prop("volume", 0);
setInterval( function(){
if ($("body").hasClass("fp-viewing-0")) {
$("#audio-0").animate({volume: 1}, 3000);
}
else {
$("#audio-0").animate({volume: 0}, 3000);
}
}, 100);
var audio0 = document.getElementById('audio-0');
audio0.volume = 0;
if ($("body").hasClass("fp-viewing-0")) {
audio0.volume = 1; //max volume
var fadeTime = 1500; //in milliseconds
var steps = 150; //increasing makes the fade smoother
var stepTime = fadeTime/steps;
var audioDecrement = audio0.volume/steps;
var timer = setInterval(function(){
audio0.volume -= audioDecrement; //fading out
if (audio0.volume <= 0.03){ //if its already inaudible stop it
audio0.volume = 0;
clearInterval(timer); //clearing the timer so that it doesn't keep getting called
}
}, stepTime);
}
function fadeAudio(audio, fadeTime, steps){
audio.volume = 1; //max
steps = steps || 150; //turning steps into an optional parameter that defaults to 150
var stepTime = fadeTime/steps;
var audioDecrement = audio.volume/steps;
var timer = setInterval(function(){
audio.volume -= audioDecrement;
if (audio.volume <= 0.03){ //if its already inaudible stop it
audio.volume = 0;
clearInterval(timer);
}
}, stepTime);
}
var audio0 = document.getElementById('audio-0');
audio0.volume = 0;
if ($("body").hasClass("fp-viewing-0")) {
fadeAudio(audio0, 1500);
}