Html实现歌曲歌词同步

这篇文章主要介绍了关于Html实现歌曲歌词同步,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

nbsp;html>        歌词同步            body {            background:url("Img/起风了.jpg") center no-repeat ;            background-size:60% 100%;        }        * {            margin:0 auto;            padding:0;        }        .play {            color: #01e5ff;            font-size: 24px;        }        .overPlay {            font-size: inherit;            color: #fff;        }        #p_lrc {            position: absolute;            padding-top: 0px;            left: 28%;            top: 300px;            width:50%;            transition: top .5s;            margin: 0 auto;                    }        .p_DisLrc {            overflow: hidden;            color:#b1abab;            width: 70%;            height: 600px;              position: relative;            margin: 0 auto;                    }        #audio {            width: 100%;        }        .p_audio {            width: 50%;            margin: 0 auto;        }        .p_but {            position: absolute;            font-size: 26px;            font-weight: 900;            top: 40%;            right: 0%;        }            .p_but p {                cursor: pointer;            }            

    

        

        

            

                        

            

            

                    

            

         var audio = document.getElementById("audio"); var play = $("#lrc_row1"); //将歌词添加到p中 $(document).ready(function () { //加载歌词 $('#p_1').load("LRC/qifengle.lrc"); //获取所有歌词 setTimeout(function () { var lrcArr = $("#p_1").text().split(''); for (var i = 4; i < lrcArr.length; i++) { var p = document.createElement("p"); //空白歌词不进行加载 if (lrcArr[i].substring(10) != "") { p.innerText = lrcArr[i].substring(10); $("#p_lrc").append(p); } } }, 200) }) function lrcDisplay() { //获取播放进度(转换的格式为: 00:00) var minute = parseInt(audio.currentTime / 60);//分钟 minute = minute == 0 ? "00" : (minute + "").length < 2 ? "0" + minute : minute; //获取秒数 var second = (parseInt(audio.currentTime)) % 60; second = second == 0 ? "00" : (second + "").length < 2 ? "0" + second : second; //正则表达匹配歌词 var regex = new RegExp('\[' + (minute + ":" + second) + '.+\].+'); var text = regex.exec($("#p_1").text()); if (text != null) { var str1 = new String($(play).next().text()); var str2 = new String(text[0].substring(10)); if (str1.trim() == str2.trim()) { //歌词颜色变色 $(play).attr("class", "overPlay"); play = $(play).next(); $(play).attr("class", "play"); //歌词滚动(自动) var top = parseInt($("#p_lrc").css("top")); $("#p_lrc").css("top", -1 * ((-1 * top) + 22) + "px"); } } } setInterval(lrcDisplay, 500); //歌词滚动(手动) var time = null; function btn_top() { var top = parseInt($("#p_lrc").css("top")); $("#p_lrc").css("top", -1 * ((-1 * top) + 100) + "px"); } function btn_down() { var top = parseInt($("#p_lrc").css("top")); if (top <= 0) $("#p_lrc").css("top", -1 * ((-1 * top) - 100) + "px"); } //调整歌词位置的函数 function btn_top() { var top = parseInt($("#p_lrc").css("top")); $("#p_lrc").css("top", -1 * ((-1 * top) + 30) + "px"); } /* 1.歌词文件不能是默认编码(记事本文件和lrc文件默认为ANSI编码) 只需要改为 UTF-8或者GB2312,否则乱码 2.歌曲因为没有算毫秒差距,可能出现细微误差 3.因为网页同源策略的原因,外部直接打开html文件只能用firefox访问, 不能进行跨域访问,如果不使用文件读取可以在任意地方打开. 4.因为ajax识别原因,会把空格当做分割内容,即歌词文件名不能有空格 5.因为js对文件操作以及ajax请求存在诸多默认限制,若以类似方法在winfrom asp等中很多问题都会得到解决. 6.setTimeout()和setInterval(),在浏览器窗口非激活的状态下会停止工作或者以极慢的速度工作。目前我已知就IE不会有这种问题。 */

登录后复制

相关推荐:

HTML实现美化上传文件样式

HTML实现美化上传文件样式

以上就是Html实现歌曲歌词同步的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3086344.html

(0)
上一篇 2025年3月28日 07:31:05
下一篇 2025年3月28日 07:31:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • HTML基础之选择器

    这篇文章介绍的内容是关于HTML基础之选择器 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 选择器的作用 可以在样式表里更加方便快捷的对html的各种样式以及属性进行操作 分类 1、标签类型选择器:对标签设置样式 a{  …

    编程技术 2025年3月28日
    000
  • HTML 文本格式化

    这篇文章主要介绍了关于HTML 文本格式化 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 html 文本格式化 nbsp;HTML>自选教程(如约智惠.com)加粗文本斜体文本电脑自动输出这是下标 和 上标 登录后复…

    编程技术 2025年3月28日
    100
  • html自适应字号

    这篇文章主要介绍了关于html自适应字号,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 在开发过程中有遇到需要根据界面dom的宽高来设置自适应字号大小,现将开发思路分享 在页面dom元素的宽和高都有限制的情况下,无法为所有的…

    编程技术 2025年3月28日
    100
  • HTML中重要的关键字

    这篇文章主要介绍了关于HTML中重要的关键字 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 bgcolor网页颜色background背景图片br 换行hr 水平线id 唯一的名字class 类(同一个国家)font 控制…

    编程技术 2025年3月28日
    100
  • HTML 速查列表

    这篇文章主要介绍了关于HTML 速查列表,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 HTML 基本文档 nbsp;html>            文档标题        可见文本… 登录后复制 基本标签(Ba…

    编程技术 2025年3月28日
    100
  • 向HTML中插入视频并兼容所有浏览器的方法

    这篇文章主要介绍了关于向html中插入视频并兼容所有浏览器的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 向HTML中插入视频有两种方法,一种是古老的object标签,一种是html5中的video标签,前者兼容性相对…

    编程技术 2025年3月28日
    100
  • HTML实现页面自动跳转的五种方法

    这篇文章主要介绍了关于html实现页面自动跳转的五种方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 在上篇文章给大家介绍了HTML页面3秒后自动跳转的三种常见方法,本文继续给大家介绍有关html页面跳转相关知识,一起学习…

    编程技术 2025年3月28日
    100
  • Html禁止右键复制功能

    这次给大家带来Html禁止右键复制功能,Html禁止右键复制的注意事项有哪些,下面就是实战案例,一起来看一下。 禁止右键菜单 登录后复制 禁止左键划字复制 登录后复制 采用CSS来控制是否可以选择文字 .unselectable { use…

    编程技术 2025年3月28日
    100
  • html 空链接 href="#"与href="javascript:void(0)"的区别

    注意是跳动到了页首的区别,最好用void(0) 用户体验好点。 #包含了一个位置信息 默认的锚是#top 也就是网页的上端 而javascript:void(0) 仅仅表示一个死链接 这就是为什么有的时候页面很长浏览链接明明是#但跳动到了页…

    编程技术 2025年3月28日
    100
  • html中用href 实现点击链接弹出文件下载对话框

    这篇文章主要介绍了关于html中用href 实现点击链接弹出文件下载对话框,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 用href 实现文件下载,之前不知道,今天有学会了一招实现点击链接弹出文件下载对话框,感兴趣的朋友可以…

    编程技术 2025年3月28日
    100

发表回复

登录后才能评论