悬停时随机更改音频src
Randomly change audio src on hover?
(我是JS和jQuery的新手,所以请原谅任何轻率的行为!(
当我将鼠标悬停在其他元素上时,我试图随机更改音频元素中的src。我已经把一些东西拼凑在一起,并通过一个带有内联JS的按钮使其工作(由于我目前找不到答案(,但无法使其工作。悬停。
我有这个jsFiddle
JS:函数声音(({
var rand = [
'http://thejazz.ninja/sounds/v.mp3',
'http://thejazz.ninja/sounds/w.mp3',
'http://thejazz.ninja/sounds/x.mp3',
'http://thejazz.ninja/sounds/y.mp3',
'http://thejazz.ninja/sounds/z.mp3'];
var randSound = rand[Math.floor(Math.random() * rand.length)];
var player=document.getElementById('player');
var sourceMp3=document.getElementById('sourceMp3');
sourceMp3.src='' + randSound + '';
player.load();
player.play();
}
$('.box').click(sounds); // this doesn't work...
HTML:
<audio id="player" autoplay>
<source id="sourceMp3" src="" type="audio/mp3" />
Your browser does not support the audio element.
</audio>
<p>
<button onclick='sounds()'> Load Sound</button> <!-- THIS works -->
</p>
CSS:
.box {
display:inline-block;
width:50px;
height:50px;
background:#aee;
}
$('.box').click(sounds);
执行时没有.box
。用$
:包裹
$(function(){ //this function will be executed when DOM is
$('.box').click(sounds); //ready to be manipulated (!= onload)
});
或者在jsFiddle中,您可以选择左侧的"onLoad"/"onDomready"而不是"No wrap-in<head>":http://jsfiddle.net/DerekL/D8Ln7/6/
关于"悬停"部分,将单击更改为mouseenter
:
$(function(){
$(".box").mouseenter(sounds);
});
不要使用.hover
。jQuery中有一个方法hover
,但在这种情况下这将不起作用,因为它与您尝试做的不匹配。引用文档:
[.hover]将为mouseenter和mouseleave事件执行该处理程序。
更新的小提琴:http://jsfiddle.net/DerekL/D8Ln7/8/
尝试使用:
$(document).ready(function() {
$('.box').hover(sounds);
});
您必须确保在为html元素添加事件时呈现这些元素。
在调用悬停方法之前等待DOM加载。
$(document).ready(function(){
$( ".box" ).hover(
function() {
sounds();
}, function() {
//hover out
});
});
演示FIDDLE
$('.box').click(sounds);
而不是abouve呼叫使用必须尝试
$(document).ready(
function() {
$('.box').click(function(){
sounds();
});
});
要在悬停时进行呼叫,您需要调用onBlur事件
<button onblur='sounds()'> Load Sound</button>
相关文章:
- 如何播放部分音频文件
- 音频控件在mouseover上显示,在mouseout上淡出
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 如果src设置为静态,则会播放html5音频,但如果设置为动态,则不会播放
- 可以't在手把文件中设置音频src
- 如何获取音频录制的src
- 如果未找到动态音频 src 或为 null,请使用 javascript 隐藏 HTML5 音频播放器
- 用JavaScript更改<音频>src
- 将 src 注入到 HTML5 的音频标签中
- 尝试使用 javascript 更改音频标签的 src
- 更改<音频>按函数标记src
- HTML5音频标签动态src ajax它不播放
- 音频标签,点击链接时添加src
- 悬停时随机更改音频src
- 谷歌浏览器,音频,setTimeout,替换音频src,重启中间音频
- 如何为音频文件数组的每个索引动态绑定src值到指令作用域变量
- 把javascript blob变量放在音频的src中
- document.getElementById().src音频问题
- 如何改变Javascript音频对象src