以下是 jQuery鼠标滑过点击事件音效试听js代码 的示例演示效果:
部分效果截图1:
部分效果截图2:
部分效果截图3:
HTML代码(index.html):
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery鼠标滑过点击事件音效试听</title>
<link rel="stylesheet" href="http://libs.useso.com/js/font-awesome/4.2.0/css/font-awesome.min.css">
<link href='http://fonts.useso.com/css?family=Lato:100,300,400,700,900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="css/default.css">
<link href='demo/css/demo.css' rel='stylesheet' type='text/css'>
<script src="http://libs.useso.com/js/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
<script src="http://libs.useso.com/js/SyntaxHighlighter/3.0.83/styles/shCore.min.js"></script>
<script src="http://libs.useso.com/js/SyntaxHighlighter/3.0.83/styles/shBrushJScript.min.js"></script>
<link href='http://libs.useso.com/js/SyntaxHighlighter/3.0.83/styles/shCore.min.css' rel='stylesheet' type='text/css'>
<link href='http://libs.useso.com/js/SyntaxHighlighter/3.0.83/styles/shThemeRDark.min.css' rel='stylesheet' type='text/css'>
<script src="js/jquery.easyaudioeffects.1.0.0.min.js"></script>
</head>
<body>
<div class="htmleaf-container">
<section class="section" id="examples">
<h1 class="section__title">Examples</h1>
<section class="sub-section">
<div class="wrapper">
<h1 class="sub-section__title">eventType : </h1>
<div class="center" style="margin-top: 40px;">
<div id="trigger-2-hover" class="sound-trigger sound-trigger--type-default-2 sound-trigger--type-hover">
<p class="sound-trigger__speach">HOVER!</p>
<div class="sound-trigger__inner">
<i class="fa fa-volume-up fa-lg"></i>
</div>
</div>
<div id="trigger-2-click" class="sound-trigger sound-trigger--type-default sound-trigger--type-click">
<p class="sound-trigger__speach">CLICK!</p>
<div class="sound-trigger__inner">
<i class="fa fa-volume-up fa-lg"></i>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$('#trigger-2-hover').easyAudioEffects({
ogg : "./assets/audio/chime.ogg",
mp3 : "./assets/audio/chime.mp3",
eventType : 'hover'
});
$('#trigger-2-click').easyAudioEffects({
ogg : "./assets/audio/chime.ogg",
mp3 : "./assets/audio/chime.mp3",
eventType : 'click'
});
});
</script>
<pre class="brush: js highlight:[4]">
$('.selector').easyAudioEffects({
ogg : "./path/to/sound.ogg",
mp3 : "./path/to/sound.mp3",
eventType : "hover" // or "click"
});
</pre>
</div>
</section>
<hr class="sep" />
<section class="sub-section">
<div class="wrapper">
<h1 class="sub-section__title">playType : </h1>
</div>
<div style="max-width: 920px; margin: auto;">
<img src="demo/images/playtype.png" width="100%" alt="">
</div>
<div class="wrapper">
<section>
<h1 class="sub-section__sub-title">playType : "oneShotPolyphonic"</h1>
<div class="center" style="margin-top: 60px;">
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<p class="sound-trigger__speach" style="width:100px; margin-left:-25px;">TRACE!</p>
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotPolyphonic-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
</div>
<div class="swipe-example">
<div class="swipe-example__child">
<i class="fa fa-hand-o-left"></i>
</div>
</div>
<div class="center" style="margin-top: 40px;">
<div class="oneShotPolyphonic-click sound-trigger sound-trigger--type-default sound-trigger--type-click">
<p class="sound-trigger__speach">BARRAGE!</p>
<div class="sound-trigger__inner">
<i class="fa fa-volume-up fa-lg"></i>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$('.oneShotPolyphonic-hover').easyAudioEffects({
ogg : "./assets/audio/chime.ogg",
mp3 : "./assets/audio/chime.mp3",
eventType : "hover",
playType : "oneShotPolyphonic"
});
$('.oneShotPolyphonic-click').easyAudioEffects({
ogg : "./assets/audio/chime.ogg",
mp3 : "./assets/audio/chime.mp3",
eventType : "click",
playType : "oneShotPolyphonic"
});
});
</script>
<pre class="brush: js highlight:[5]">
$('.selector').easyAudioEffects({
ogg : "./path/to/sound.ogg",
mp3 : "./path/to/sound.mp3",
eventType : "hover", // or "click"
playType : "oneShotPolyphonic"
});
</pre>
</section>
<hr class="sep" />
<section>
<h1 class="sub-section__sub-title">playType : "oneShotMonophonic"</h1>
<div class="center" style="margin-top: 60px;">
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<p class="sound-trigger__speach" style="width:100px; margin-left:-25px;">TRACE!</p>
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
<div class="oneShotMonophonic-trigger-hover sound-trigger sound-trigger--type-small-2 sound-trigger--type-hover">
<div class="sound-trigger__inner"><i class="fa fa-volume-up fa-lg"></i></div>
</div>
</div>
<div class="swipe-example">
<div class="swipe-example__child">
<i class="fa fa-hand-o-left"></i>
</div>
</div>
<div class="center" style="margin-top: 40px;">
<div class="oneShotMonophonic-trigger-click sound-trigger sound-trigger--type-default sound-trigger--type-click">
<p class="sound-trigger__speach">BARRAGE!</p>
<div class="sound-trigger__inner">
<i class="fa fa-volume-up fa-lg"></i>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$('.oneShotMonophonic-trigger-hover').easyAudioEffects({
ogg : "./assets/audio/chime.ogg",
mp3 : "./assets/audio/chime.mp3",
eventType : 'hover',
playType : 'oneShotMonophonic'
});
$('.oneShotMonophonic-trigger-click').easyAudioEffects({
ogg : "./assets/audio/chime.ogg",
mp3 : "./assets/audio/chime.mp3",
eventType : 'click',
playType : 'oneShotMonophonic'
});
});
</script>
<pre class="brush: js highlight:[5]">
$('.selector').easyAudioEffects({
ogg : "./path/to/sound.ogg",
mp3 : "./path/to/sound.mp3",
eventType : "hover", // or "click"
playType : "oneShotMonophonic"
});
</pre>
</section>
<hr class="sep" />
<section>
<h1 class="sub-section__sub-title">playType : "gate"</h1>
<div class="center" style="margin-top: 40px;">
<div class="gate-trigger-hover sound-trigger sound-trigger--type-default-2 sound-trigger--type-hover">
<p class="sound-trigger__speach">HOVER!</p>
<div class="sound-trigger__inner">
<img src="./demo/images/cat.svg" style="width:40px; padding-top:30px;" alt="">
</div>
</div>
<div class="gate-trigger-click sound-trigger sound-trigger--type-default sound-trigger--type-click">
<p class="sound-trigger__speach">CLICK!</p>
<div class="sound-trigger__inner">
<img src="./demo/images/cat.svg" style="width:40px; padding-top:30px;" alt="">
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$('.gate-trigger-hover').easyAudioEffects({
ogg : "./assets/audio/cat.ogg",
mp3 : "./assets/audio/cat.mp3",
eventType : 'hover',
playType : 'gate'
});
$('.gate-trigger-click').easyAudioEffects({
ogg : "./assets/audio/cat.ogg",
mp3 : "./assets/audio/cat.mp3",
eventType : 'click',
playType : 'gate'
});
});
</script>
<pre class="brush: js highlight:[5]">
$('.selector').easyAudioEffects({
ogg : "./path/to/sound.ogg",
mp3 : "./path/to/sound.mp3",
eventType : "hover", // or "click"
playType : "gate"
});
</pre>
</section>
<hr class="sep" />
<section>
<h1 class="sub-section__sub-title">playType : "loop"</h1>
<div class="center" style="margin-top: 40px;">
<div class="loop-trigger-hover sound-trigger sound-trigger--type-default-2 sound-trigger--type-hover">
<p class="sound-trigger__speach">HOVER!</p>
<div class="sound-trigger__inner">
<i class="fa fa-volume-up fa-lg"></i>
</div>
</div>
<div class="loop-trigger-click sound-trigger sound-trigger--type-default sound-trigger--type-click">
<p class="sound-trigger__speach">CLICK!</p>
<div class="sound-trigger__inner">
<i class="fa fa-volume-up fa-lg"></i>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$('.loop-trigger-hover').easyAudioEffects({
ogg : "./assets/audio/numbness.ogg",
mp3 : "./assets/audio/numbness.mp3",
eventType : 'hover',
playType : 'loop'
});
$('.loop-trigger-click').easyAudioEffects({
ogg : "./assets/audio/numbness.ogg",
mp3 : "./assets/audio/numbness.mp3",
eventType : 'click',
playType : 'loop'
});
});
</script>
<pre class="brush: js highlight:[5]">
$('.selector').easyAudioEffects({
ogg : "./path/to/sound.ogg",
mp3 : "./path/to/sound.mp3",
eventType : "hover", // or "click"
playType : "loop"
});
</pre>
</section>
</div>
</section>
</section>
</div>
<script type="text/javascript">
$(function(){
$('a').easyAudioEffects({
ogg : "./assets/audio/pi.ogg",
mp3 : "./assets/audio/pi.mp3",
eventType : 'hover'
});
});
</script>
</body>
</html>
JS代码(jquery.easyaudioeffects.1.0.0.min.js):
!function($){
$.fn.easyAudioEffects=function(e){
function o(){
switch(a.playType){
case"loop":c.currentTime=0,c.loop=!0,c.play();
break;
case"gate":c.currentTime=0,c.play();
break;
case"oneShotMonophonic":c.currentTime=0,c.play();
break;
case"oneShotPolyphonic":default:""!=s&&(t[u]=new Audio(s),t[u].play(),t[u].addEventListener("ended",function(){
t[u]=null}
),u++)}
}
function n(){
switch(a.playType){
case"loop":c.pause();
break;
case"gate":c.pause();
break;
case"oneShotMonophonic":break;
case"oneShotPolyphonic":}
}
var a=$.extend(!0,{
}
,$.fn.easyAudioEffects.defaults,e),l=$(this),c,t=[],u=0,s="",p={
}
;
p={
ogg:a.ogg,mp3:a.mp3}
;
try{
if(c=new Audio(""),!c.canPlayType)throw"canPlayType method does not exist";
var i=""!=c.canPlayType("audio/ogg"),y=""!=c.canPlayType("audio/mpeg");
if(i&&null!=p.ogg)s=p.ogg,c.src=s;
else{
if(!y||null==p.mp3)throw null==p.ogg||null==p.mp3?"Please specify an audio source":"Also ogg and mp3 also does not support";
s=p.mp3,c.src=s}
}
catch(f){
console.log(f),c=null}
if(null!=c)switch(a.eventType){
case"click":l.on("mousedown",function(){
o()}
).on("mouseup",function(){
n()}
);
break;
case"hover":default:l.on({
mouseenter:function(){
o()}
,mouseleave:function(){
n()}
}
)}
}
,$.fn.easyAudioEffects.defaults={
ogg:null,mp3:null,eventType:"hover",playType:"oneShotPolyphonic"}
}
(jQuery);
CSS代码(default.css):
@import url(http://fonts.useso.com/css?family=Raleway:200,500,700,800);@font-face{font-family:'icomoon';src:url('../fonts/icomoon.eot?rretjt');src:url('../fonts/icomoon.eot?#iefixrretjt') format('embedded-opentype'),url('../fonts/icomoon.woff?rretjt') format('woff'),url('../fonts/icomoon.ttf?rretjt') format('truetype'),url('../fonts/icomoon.svg?rretjt#icomoon') format('svg');font-weight:normal;font-style:normal;}
[class^="icon-"],[class*=" icon-"]{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;/* Better Font Rendering =========== */
-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body,html{font-size:100%;padding:0;margin:0;}
/* Reset */
*,*:after,*:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
/* Clearfix hack by Nicolas Gallagher:http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before,.clearfix:after{content:" ";display:table;}
.clearfix:after{clear:both;}
body{background:#f9f7f6;color:#404d5b;font-weight:500;font-size:1.05em;font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3","FontAwesome",sans-serif;}
a{color:#2fa0ec;text-decoration:none;outline:none;}
a:hover,a:focus{color:#74777b;}
.htmleaf-container{margin:0 auto;text-align:center;overflow:hidden;}
.htmleaf-content{font-size:150%;padding:1em 0;}
.htmleaf-content h2{margin:0 0 2em;opacity:0.1;}
.htmleaf-content p{margin:1em 0;padding:5em 0 0 0;font-size:0.65em;}
.bgcolor-1{background:#f0efee;}
.bgcolor-2{background:#f9f9f9;}
.bgcolor-3{background:#e8e8e8;}
/*light grey*/
.bgcolor-4{background:#2f3238;color:#fff;}
/*Dark grey*/
.bgcolor-5{background:#df6659;color:#521e18;}
/*pink1*/
.bgcolor-6{background:#2fa8ec;}
/*sky blue*/
.bgcolor-7{background:#d0d6d6;}
/*White tea*/
.bgcolor-8{background:#3d4444;color:#fff;}
/*Dark grey2*/
.bgcolor-9{background:#ef3f52;color:#fff;}
/*pink2*/
.bgcolor-10{background:#64448f;color:#fff;}
/*Violet*/
.bgcolor-11{background:#3755ad;color:#fff;}
/*dark blue*/
.bgcolor-12{background:#3498DB;color:#fff;}
/*light blue*/
/* Header */
.htmleaf-header{padding:1em 190px 1em;letter-spacing:-1px;text-align:center;}
.htmleaf-header h1{font-weight:600;font-size:2em;line-height:1;margin-bottom:0;font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3","FontAwesome",sans-serif;}
.htmleaf-header h1 span{font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3","FontAwesome",sans-serif;display:block;font-size:60%;font-weight:400;padding:0.8em 0 0.5em 0;color:#c3c8cd;}
/*nav*/
.htmleaf-demo a{color:#1d7db1;text-decoration:none;}
.htmleaf-demo{width:100%;padding-bottom:1.2em;}
.htmleaf-demo a{display:inline-block;margin:0.5em;padding:0.6em 1em;border:3px solid #1d7db1;font-weight:700;}
.htmleaf-demo a:hover{opacity:0.6;}
.htmleaf-demo a.current{background:#1d7db1;color:#fff;}
/* Top Navigation Style */
.htmleaf-links{position:relative;display:inline-block;white-space:nowrap;font-size:1.5em;text-align:center;}
.htmleaf-links::after{position:absolute;top:0;left:50%;margin-left:-1px;width:2px;height:100%;background:#dbdbdb;content:'';-webkit-transform:rotate3d(0,0,1,22.5deg);transform:rotate3d(0,0,1,22.5deg);}
.htmleaf-icon{display:inline-block;margin:0.5em;padding:0em 0;width:1.5em;text-decoration:none;}
.htmleaf-icon span{display:none;}
.htmleaf-icon:before{margin:0 5px;text-transform:none;font-weight:normal;font-style:normal;font-variant:normal;font-family:'icomoon';line-height:1;speak:none;-webkit-font-smoothing:antialiased;}
/* footer */
.htmleaf-footer{width:100%;padding-top:10px;}
.htmleaf-small{font-size:0.8em;}
.center{text-align:center;}
/****/
.related{color:#fff;background:#333;text-align:center;font-size:1.25em;padding:0.5em 0;overflow:hidden;}
.related > a{vertical-align:top;width:calc(100% - 20px);max-width:340px;display:inline-block;text-align:center;margin:20px 10px;padding:25px;font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3","FontAwesome",sans-serif;}
.related a{display:inline-block;text-align:left;margin:20px auto;padding:10px 20px;opacity:0.8;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;-webkit-backface-visibility:hidden;}
.related a:hover,.related a:active{opacity:1;}
.related a img{max-width:100%;opacity:0.8;border-radius:4px;}
.related a:hover img,.related a:active img{opacity:1;}
.related h3{font-family:"Microsoft YaHei",sans-serif;}
.related a h3{font-weight:300;margin-top:0.15em;color:#fff;}
/* icomoon */
.icon-htmleaf-home-outline:before{content:"\e5000";}
.icon-htmleaf-arrow-forward-outline:before{content:"\e5001";}
@media screen and (max-width:50em){.htmleaf-header{padding:3em 10% 4em;}
.htmleaf-header h1{font-size:2em;}
}
@media screen and (max-width:40em){.htmleaf-header h1{font-size:1.5em;}
}
@media screen and (max-width:30em){.htmleaf-header h1{font-size:1.2em;}
}