首先在网页中嵌入背景音乐,html5代码为:

<script src="http://wuover.qiniudn.com/jquery.js"></script>
<a class="mscBtn" id="audioBtn" title='最幸福的人' style="cursor:pointer;"></a>
<audio id="bgMusic" src="http://cctv3.qiniudn.com/zuixingfuderen.mp3" autoplay="autoplay"></audio>

css样式为:

.pause {background-position: 0 bottom;}
.mscBtn {height: 50px;
background: #fff url(http://cctv2.qiniudn.com/musicbtn.png) no-repeat;
display: block;}

通过audio的id即可控制音乐的播放(play())和暂停(pause()),同时通过改变class改变按钮的背景图片,js代码为(切记要引入jq库):

$(function(){
$("#audioBtn").click(function(){
if(music.paused){
music.play();
$("#audioBtn").removeClass("pause").addClass("play");
}else{
music.pause();
$("#audioBtn").removeClass("play").addClass("pause");
}
});
});

改进了下,让网页背景音乐支持多首歌曲,播放完在随机播放下一首并且不会和上一首重复

$(function(){
var music = document.getElementById("bgMusic");
var musicArr=[//下面对应歌曲链接和歌名,自行添加用,隔开
{url:'http://cctv3.qiniudn.com/tbhdqx.mp3',title:"唐伯虎点秋香"},
{url:'http://cctv3.qiniudn.com/abzxh.mp3',title:"敖包再相会"},
{url:'http://cctv3.qiniudn.com/lmzda.mp3',title:"辣妹子的爱"},
{url:'http://cctv3.qiniudn.com/32.mp3',title:"32号嫁给你"},
{url:'http://cctv3.qiniudn.com/tongxinjishou.mp3',title:"痛心疾首"},
{url:'http://cctv3.qiniudn.com/rgangdst.mp3',title:"如果爱能感动上天"},
{url:'http://cctv3.qiniudn.com/cz.mp3',title:"车站"},
{url:'http://cctv3.qiniudn.com/hn.ogg',title:"很难"},
{url:'http://cctv3.qiniudn.com/aqlmysdsc.mp3',title:"爱情里没有谁对谁错"},
{url:'http://cctv3.qiniudn.com/dlaqdln.mp3',title:"丢了爱情丢了你"},
{url:'http://cctv3.qiniudn.com/cty.mp3',title:"闯天涯"}
];
$("#audioBtn").click(function(){
if(music.paused){
music.play();
$("#audioBtn").removeClass("pause").addClass("play");
}else{
music.pause();
$("#audioBtn").removeClass("play").addClass("pause");
}
}); function randomMusic(){
var isone=$("#bgMusic").attr('src');
var noone=musicArr[parseInt(Math.random()*musicArr.length)];
if (noone.url==isone){
var noone=musicArr[parseInt(Math.random()*musicArr.length)];
}
$("#bgMusic").attr('src',noone.url);
$("#audioBtn").attr('title',noone.title);
} randomMusic();
$("#bgMusic").on('ended',function(){
randomMusic();
});
});

JS实现控制HTML5背景音乐播放暂停的更多相关文章

  1. 31.JS实现控制HTML5背景音乐播放暂停

    实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现.首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover ...

  2. Cocos2d-x中背景音乐播放暂停与继续

    背景音乐播放暂停与继续似乎我们很少使用,事实上也正是如此,背景音乐播放暂停与继续实例代码如下: SimpleAudioEngine::getInstance()->pauseBackground ...

  3. js控制html5 audio的暂停、播放、停止

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

  4. HTML5背景音乐的暂停与播放

    HTML代码:     <audio id="myaudio" loop="loop" preload="auto" autoplay ...

  5. JS控制flash的播放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  6. js控制html5 【video】标签中视频的播放和停止

    需求:页面中有2个普通按钮a,b.还有一个video标签,能成功播放出视频..我想要的效果是,点击a按钮,视频开始播放,点击b按钮,视频播放停止!!!<br><br>----- ...

  7. html5 audio的暂停与播放

    在html5里,audio是新增的功能.它方便了用户. 大多数音频是通过插件(比如 Flash)来播放的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 audio 元素来包含音频 ...

  8. 使用jQuery播放/暂停 HTML5视频

    文章来自:http://blog.okbase.net/jquery2000/archive/4485.html 我尝试用jQuery控制HTML5视频,两个视频分别在两个tab中,我希望点中tab后 ...

  9. apk支持html video控制 ,是播放状态就暂停,暂停状态就播放

    apk支持html video控制 <!DOCTYPE html> <html> <body> <div style="text-align:cen ...

随机推荐

  1. 深入源码理解ThreadLocal和ThreadLocalMap

    一.ThreadLoacl的理解: 官方的讲: ThreadLocal是一个本地线程副本变量工具类,主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰 通俗的讲: Thre ...

  2. [03] 线程同步 synchronized

    1.线程同步概述 线程之间有可能共享一些资源,比如内存.文件.数据库等.多个线程同时读写同一份共享资源时,就可能引起冲突,所以引入了线程的"同步"机制. 所谓同步,就是说线程要有先 ...

  3. 封装自己的dapper lambda扩展-设计篇

    前言 昨天开源了业务业余时间自己封装的dapper lambda扩展,同时写了篇博文<编写自己的dapper lambda扩展-使用篇>简单的介绍了下其使用,今天将分享下它的设计思路 链式 ...

  4. [WPF]如何使用代码创建DataTemplate(或者ControlTemplate)

    1. 前言 上一篇文章([UWP]如何使用代码创建DataTemplate(或者ControlTemplate))介绍了在UWP上的情况,这篇文章再稍微介绍在WPF上如何实现. 2. 使用Framew ...

  5. JS实现一个v-if

    // 获取dom var el = document.getElementById('root'); console.log(el); // 遍历dom function dealNode(el) { ...

  6. python第八章:多任务--小白博客

    多线程threading 多线程特点: #线程的并发是利用cpu上下文的切换(是并发,不是并行)#多线程执行的顺序是无序的#多线程共享全局变量#线程是继承在进程里的,没有进程就没有线程#GIL全局解释 ...

  7. 2018 Multi-University Training Contest 1

    比赛链接:2018 Multi-University Training Contest 1 6301 Distinct Values 题意:输出一个长度为n的序列,要求满足m个区间的数都不相同,并且字 ...

  8. MySQLl导入导出SQL文件

    window 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...

  9. jmeter之批量修改请求路径

    今天工作时碰到一个问题:测试环境中由于tomcat没指定webapps下的文件夹名,导致tomcat使用了webapps下默认的文件夹名,而我的jmeter脚本都已经做出来了,一共83个接口,挨个改路 ...

  10. Jenkins deploy war to tomcat over https

    ssl - HTTPS login with Spring Security redirects to HTTP - Stack Overflow https://stackoverflow.com/ ...