我需要一些帮助:
<script>
$(window).load(function(){
function swapImages(){
var $active = $('#myGallery .active');
var $next = ($('#myGallery .active').next().length > 0) ? $('#myGallery .active').next() : $('#myGallery img:first');
$active.fadeOut(function(){
$active.removeClass('active');
$next.fadeIn().addClass('active');
});
}
$('#audio').click(function() {
alert("YESSSSSSSSSSSS!");
setInterval("swapImages()", 5000);
});
});
</script>
&#34;点击功能&#34;不起作用。我必须提一下,在之前的jquery调用另一个动作之后,音频部分将加载一个PHP文件。那么,我该怎么办?
谢谢!
<audio controls='controls' id='audio'>
<source src=". $final_file ." type='audio/mp3'/>
</audio>
答案 0 :(得分:0)
如果音频文件是在稍后阶段加载的,那么使用.on()而不是.click()
$('body').on('click', '#audio', function() {
alert("YESSSSSSSSSSSS!");
setInterval("swapImages()", 5000);
});
答案 1 :(得分:0)
我假设你想在播放歌曲时改变背景,你可以试试下面的代码......
<script>
$(window).load(function(){
function swapImages(){
var $active = $('#myGallery .active');
var $next = ($('#myGallery .active').next().length > 0) ? $('#myGallery .active').next() : $('#myGallery img:first');
$active.fadeOut(function(){
$active.removeClass('active');
$next.fadeIn().addClass('active');
});
}
var aud= document.getElementById('audio');
aud.addEventListener('play', onStart);
aud.addEventListener('pause', onEnded);
aud.addEventListener('ended', onEnded);
function onEnded(){
clearInterval(window.audInterval);
}
function onStart(){
alert('Started playing...');
window.audInterval = setInterval(swapImages, 5000);
}
});
</script>
p.s:根据需要尝试使用少量JQuery。只是我的两分钱。