var class_name=function()
{
this.top=500//与顶部距离
//左侧广告
this.l_width=100//宽
this.l_height=100//高
this.l_left=100//与左侧的距离
this.l_src="http://img.baidu.com/img/logo-zhidao.gif"//图片路径
this.l_url="http://www.baidu.com/"//图片链接地址
//右侧广告
this.r_width=100//宽
this.r_height=100//高
this.r_right=100//与右侧的距离
this.r_src="http://img.baidu.com/img/logo-zhidao.gif"//图片路径
this.r_url="http://www.baidu.com/"//图片链接地址
}
var c=new class_name()
document.write('<div id="xf_left_gg" style="position:absolutewidth:'+c.l_width+'pxheigth:'+c.l_height+'pxleft:'+c.l_left+'pxtop:'+c.top+'px"><a href="'+c.l_url+'" target="_blank"><img src="'+c.l_src+'" width="'+c.l_width+'" height="'+c.l_height+'" border="0"></a></div>')
document.write('<div id="xf_right_gg" style="position:absolutewidth:'+c.r_width+'pxheigth:'+c.r_height+'px" right:'+c.r_right+'pxtop:'+c.top+'px"><a href="'+c.l_url+'" target="_blank"><img src="'+c.l_src+'" width="'+c.l_width+'" height="'+c.l_height+'" border="0"></a></div>')
function lxs_xf()
{
var t=(document.body.scrollTop>0)?(parseInt(document.body.scrollTop)+c.top):c.top
$("xf_left_gg").style.left=c.l_left+"px"
$("xf_left_gg").style.top=t+"px"
$("xf_right_gg").style.right=c.r_right+"px"
$("xf_right_gg").style.top=t+"px"
}
function $(id){return document.getElementById(id)}
if(window.attachEvent)
{
window.attachEvent("onload",lxs_xf)
window.attachEvent("onscroll",lxs_xf)
}
else
{
window.addEventListener("load",lxs_xf,false)
window.addEventListener("scroll",lxs_xf,false)
}
</script>
jquery控制背景音乐开关与自动播放提示音的方法。分享给大家供大家参考。具体如下:很多人初学网页制作时在网页中加入一段背景音乐,听到音乐响起的那一刻往往都会有一丝的成就感。
这里就为大家讲解如何使用js控制背景音乐播放与停止。具体如下:
一、jquery控制背景音乐开关
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http//www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<script src="js/jquery.min.js"></script>
<script type="text/javascript">
//加载背景音乐,并自动播放
$('#bg_music').append('<embed id="m_bg_music" loop=true volume="60" autostart=true hidden=true src="guoan.mp3" />')
$('#bg_music_btn').click(function(){
var state = $('#bg_music_btn').attr('state')
if(state == '1')//
{
$('#bg_music_btn').attr('state','0')
$('#bg_music_btn').html('打开背景音乐')
$('#m_bg_music').remove()
}else if(state == '0')
{
$('#bg_music_btn').attr('state','1')
$('#m_bg_music').remove()
$('#bg_music_btn').html('关闭背景音乐')
$('#bg_music').append('<embed id="m_bg_music" loop=true volume="60" autostart=true hidden=true src="guoan.mp3" />')
}
})
</script>
</head>
<body>
<!--控制播放-->
<div id="bg_music_btn" state='1'>关闭背景音乐</div>
<!--背景音乐-->
<div id="bg_music"></div>
</body>
</html>
以上介绍了jquery如何控制背景音乐开关的方法,接下来再进一步扩展。
二、JQuery自动播放提示音
最早对网站有自动提示音的功能,发现在Discuz论坛中出现。但是它有一个问题就是只支持flash,不支持HTML5,不明确最新版本中是否支持HTML5。
对于Discuz 7.2 版本中,提供了player.swf、pm_1.mp3、pm_2.mp3、pm_3.mp3,然后使用如下脚本来实现:
复制代码 代码如下:
<div id="soundplayerlayer" style="position:absolutetop:-100000px"></div>
<script type="text/javascript" reload="1">
function soundplayer(file) {
$('soundplayerlayer').innerHTML = AC_FL_RunContent('id', 'pmsoundplayer', 'name', 'pmsoundplayer', 'width', '0′, 'height', '0′, 'src', '{$boardurl}images/sound/player.swf', 'FlashVars', 'sFile={$boardurl}images/sound/pm_' + file + '.mp3′, 'menu', 'false', 'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true')
}
</script>
可惜这个方法局限在flash,在苹果设备上可能就会遇到麻烦了。
HTML5开源播放器JPlayer支持自动播放提示音
JPlayer支持play事件触发自动播放提示音。
1. 装载JPlayer到一个div层,例如#jplayer。
复制代码 代码如下:
$(function() {
$("#jplayer").jPlayer({
swfPath: "http//www.jplayer.org/latest/js/Jplayer.swf",
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "./resources/message.mp3"
})
},
supplied: "mp3"
})
})
body部分加入:<div id="jplayer"></div>
装载JQuery完成后,jplayer的div内容在支持swf的浏览器内变成:
复制代码 代码如下:
<div id="jplayer" style="width: 0pxheight: 0px"><img id="jp_poster_0" style="width: 0pxheight: 0pxdisplay: none"><object height="1" width="1" id="jp_flash_0" data="http//www.jplayer.org/latest/js/Jplayer.swf" type="application/x-shockwave-flash" style="width: 0pxheight: 0px"><param name="flashvars" value="jQuery=jQuery&id=jplayer&vol=0.8&muted=false"><param name="allowscriptaccess" value="always"><param name="bgcolor" value="#000000"><param name="wmode" value="opaque"></object></div>
在支持HTML5的浏览器内变成:
复制代码 代码如下:
<div id="jplayer" style="width: 0pxheight: 0px"><img id="jp_poster_0" style="width: 0pxheight: 0pxdisplay: none"><audio id="jp_audio_0" preload="metadata" src="./resources/message.mp3"></audio></div>
完成装载后就是触发播放的事件了。
2. 触发播放提示音事件
复制代码 代码如下:
$("#jplayer").jPlayer('play')
3. 循环播放函数,每5秒播放一次提示音
复制代码 代码如下:
function PlaySound() {
$("#jplayer").jPlayer('play')
setInterval("PlaySound()", 5000)
return true
}
附录:
1. 解决无法自动播放提示音的问题
如果在加载JQplayer后,立刻运行播放的触发事件,没有任何效果!具体是什么原因我也不太清楚,估计是因为音频文件没有加载上。
2. 解决方法是让触发事件等待5秒中执行。
复制代码 代码如下:
setTimeout("$('#jplayer').jPlayer('play')", 5000)
加载完页面,5秒后自动播放提示音。
<html><head>
<title>JS对联广告,在网页左右随滚动条滚动,可关闭</title>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">
</head>
<body style="margin:0px">
<div align="center">
<center>
<table border="1" width="776" height="3000" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" valign="top"><div align="center" style="color:greenfont-size:23ptfont-family:黑体"><br><br>
页<br>面<br>区<br>域</div></td>
</tr>
</table>
</center>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var showad = true
var Toppx = 60 //上端位置
var AdDivW = 100 //宽度
var AdDivH = 360 //高度
var PageWidth = 800//页面多少宽度象素下正好不出现左右滚动条
var MinScreenW = 1024//显示广告的最小屏幕宽度象素
var ClosebuttonHtml = '<div align="right" style="position: absolutetop:0pxright:0pxmargin:2pxpadding:2pxz-index:2000"><a href="javascript:" onclick="hidead()" style="color:redtext-decoration:nonefont-size:12px">关闭</a></div>'
var AdContentHtml = '<div align="center" style="color:greenfont-size:23ptfont-family:黑体"><br><br>广<br>告<br>内<br>容</div>'
document.write ('<div id="Javascript.LeftDiv" style="position: absoluteborder: 1px solid #336699background-color:#EEEEE2z-index:1000width:'+AdDivW+'pxheight:'+AdDivH+'pxtop:-1000pxword-break:break-alldisplay:none">'+ClosebuttonHtml+'<div>'+AdContentHtml+'</div></div>')
document.write ('<div id="Javascript.RightDiv" style="position: absoluteborder: 1px solid #336699background-color:#EEEEE2z-index:1000width:'+AdDivW+'pxheight:'+AdDivH+'pxtop:-1000pxword-break:break-alldisplay:none">'+ClosebuttonHtml+'<div>'+AdContentHtml+'</div></div>')
function scall(){
if(!showad){return}
if (window.screen.width<MinScreenW){
alert("临时提示:\n\n显示器分辨率宽度小于"+MinScreenW+",不显示广告")
showad = false
document.getElementByIdx("Javascript.LeftDiv").style.display="none"
document.getElementByIdx("Javascript.RightDiv").style.display="none"
return
}
var Borderpx = ((window.screen.width-PageWidth)/2-AdDivW)/2
document.getElementByIdx("Javascript.LeftDiv").style.display=""
document.getElementByIdx("Javascript.LeftDiv").style.top=document.body.scrollTop+Toppx
document.getElementByIdx("Javascript.LeftDiv").style.left=document.body.scrollLeft+Borderpx
document.getElementByIdx("Javascript.RightDiv").style.display=""
document.getElementByIdx("Javascript.RightDiv").style.top=document.body.scrollTop+Toppx
document.getElementByIdx("Javascript.RightDiv").style.left=document.body.scrollLeft+document.body.clientWidth-document.getElementByIdx("Javascript.RightDiv").offsetWidth-Borderpx
}
function hidead()
{
showad = false
document.getElementByIdx("Javascript.LeftDiv").style.display="none"
document.getElementByIdx("Javascript.RightDiv").style.display="none"
}
window.onscroll=scall
window.onresize=scall
window.onload=scall
//-->
</SCRIPT>
</body>
</html>