Я использую jquery, чтобы исчезнуть в div после 3 секунд. то, что я пытаюсь сделать сейчас, задает оператор if, чтобы сказать, когда div "dashboard_right2" будет виден, а затем воспроизвести звуковой клип.
на данный момент я использую этот аудио-скрипт html5, который запускает звуковой файл, воспроизводимый при загрузке страницы, однако я хочу, чтобы звуковой файл воспроизводился, только если отображается div "dashbaord_right2". может кто-нибудь, пожалуйста, покажите мне, как это сделать, спасибо.
звуковой код:
<audio src="assets/music/sound_file.mp3" autoplay>
</audio>
<script>
var audio = document.createElement("audio");
if (audio != null && audio.canPlayType && audio.canPlayType("audio/mpeg"))
{
audio.src = "audio/sample.mp3";
audio.play();
}
</script>
<audio src="data:audio/mpeg,ID3%02%00%00%00%00%..." autoplay>
</audio>
div, который исчезает через 3 секунды, используя jquery:
<script>
$('.dashboard_right2').hide(); // this or use css to hide the div
$('.dashboard_right2').delay(2000).fadeIn('slow');
</script>
Вы можете сделать так:
$('.dashboard_right2').delay(2000).fadeIn('slow', function() {
// play your audio
audio.play();
});
а также
$('.dashboard_right2').hide();
audio.pause();
Например:
<div id="toggleMusic">Toggle Music</div>
<audio id="audio" src="assets/music/sound_file.mp3" autoplay>
<script type="text/javascript">
$("#toggleMusic").click(function() {
var audio = document.getElementsByTagName('audio')[0];
if($(".dashboard_right2").is(":visible")) {
// hide the dashboard and pause the music
$('.dashboard_right2').hide();
audio.pause();
} else {
// show the dashboard and start the music
$('.dashboard_right2').delay(2000).fadeIn('slow', function() {
audio.play();
});
}
});
</script>
Если вам нужна только fadeIn()
для загрузки страницы, вам следует использовать метод toggle()
чтобы скрыть/показать ваш элемент:
$('.dashboard_right2').toggle(0, function() {
if($('.dashboard_right2').is(':visible')) {
audio.play();
} else {
audio.pause();
}
});
autoplay
на ложь? А что вы подразумеваете под "html заставляет проигрывать аудио файл"? Что не работает?
$('.dashboard_right2').delay(2000).faceIn('slow', function() { audio.play(); });