上一期我们介绍了外观设计,这把我们聊聊让进度条跟随播放进度走
目录
预期效果
准备
- 在此之前,你需要有以下基础:
- HTML/CSS/JS
- 了解一些<audio>标签的属性和事件
- Vue(数据绑定和事件绑定)
实现
- 还是上次的那个Html/css,但我们这把加入了:
- 最外围用div包裹,用于创建vue
- 添加了<audio>
- 显示音乐标签面板 (controls)
- 默认静音 (muted)
- 绑定事件:播放时长更新事件 timeupdate
- 绑定数据:音频文件资源链接 src
- 两个vue数据绑定
- cmusic_control_loadProgress_style (加载进度条长度)
- cmusic_control_progress_style (播放进度条长度)
- 修改部分css样式
- HTML:
<div id="root_div" class="cmusic_displayFlex_class" style="height:150px;justify-content:space-between;align-items: center;">
<!-- 音频 -->
<audio id="cmusic_audio" ref="cmusic_audio" controls muted
@timeupdate="audio_lengthChange()" :src="url_audio">
</audio>
<span id="cmusic_control_span_progressBar">
<div class="cmusic_displayFlex_class cmusic_control_progress_div" style="flex-direction: row;">
<span id="cmusic_control_span_loadProgress" :style="cmusic_control_loadProgress_style"></span>
<span id="cmusic_control_span_progress" :style="cmusic_control_progress_style"></span>
</div>
</span>
<div>
- CSS:
<style>
/*外框*/
#cmusic_control_span_progressBar{
border-radius: 50px;
height: 20px;
width: 100%;
display: inline-flex;
align-items: center;
position: relative;
background: transparent;
box-shadow: inset 2px 2px 4px #bcc5d6,
inset -2px -2px 5px #feffff;
border: 2px solid #d0f4ff;
justify-content: center;
transition: all 0.8s ease;
}
/*布局类*/
.cmusic_displayFlex_class {
width: 100%;
display: flex;
flex-direction: column;
margin-left: auto;
margin-right: auto;
}
.cmusic_control_progress_div {
position:absolute;
width:94% !important;
height:100%;
align-items: center;
}
/*进度条*/
#cmusic_control_span_progress,
#cmusic_control_span_loadProgress{
background: linear-gradient(90deg, #c4f4fe, #66ccff);
border-radius: 50px;
position: absolute;
width:100%;
height: 60%;
pointer-events: none;
transition: width 0.5s ease;
box-shadow: 2px 2px 10px #ccd3ff,
-2px -2px 10px #ccd3ff;
}
/*加载进度条*/
#cmusic_control_span_loadProgress {
background: linear-gradient(90deg, #abecd6, #fff9d2);
}
</style>
- 并在script标签内写js/vue代码:
<!-- 引入vue -->
<script src="https://unpkg.com/vue@3.2.33"></script>
<script>
const { createApp } = Vue
var cmusic_json = {
//数据
data() {
return {
url_audio:"https://blog.coolight.cool/wp-content/uploads/2022/05/大喜_洛天依.m4a",
cmusic_control_loadProgress_style:"width:80%",
cmusic_control_progress_style:"width:50%"
}
},
//函数
methods:{
//监听播放时长,修改进度条长度
audio_lengthChange:function(){
let caudio = this.$refs.cmusic_audio;
//duration是音频总时长
//如果音频元数据加载完成,才能获得其总时长,后续才能进行计算
if (!isNaN(caudio.duration)){
this.cmusic_control_progress_style = "width:" + (parseInt(caudio.currentTime / caudio.duration * 100)).toString() + "%;";
}else{
this.cmusic_control_progress_style = "width:0%;";
}
}
}
};
var cmusic_app = Vue.createApp(cmusic_json);
var cmusic_vue = cmusic_app.mount("#root_div");
</script>
- 最终效果:
- 默认是静音的,可以点击播放试试
rx lisinopril lisinopril 2.5 mg tablet can you buy lisinopril online
http://cytotec.xyz/# cytotec pills online
https://gabapentin.club/# neurontin 1000 mg
propecia no prescription cost of generic propecia without a prescription cost of generic propecia without prescription
cost cheap propecia without prescription: cheap propecia without rx – generic propecia online
buy zestril online: lisinopril 102 – prescription medicine lisinopril
cost generic clomid: cheap clomid now – can i get generic clomid without rx
neurontin for sale online: can i buy neurontin over the counter – neurontin generic
http://cytotec.xyz/# cytotec buy online usa
buy zestoretic online lisinopril 5 mg brand name where can i purchase lisinopril
https://cytotec.xyz/# cytotec pills buy online
https://propeciaf.online/# cost generic propecia without insurance
buy cytotec pills purchase cytotec buy cytotec pills
neurontin capsules 100mg: neurontin uk – neurontin 100mg capsule price
http://gabapentin.club/# neurontin 800mg
order propecia get cheap propecia tablets get generic propecia pills
can you get clomid without a prescription: where can i buy clomid for sale – how can i get cheap clomid without prescription
buy cytotec pills: п»їcytotec pills online – Misoprostol 200 mg buy online
https://propeciaf.online/# order propecia tablets
buy cytotec pills online cheap buy cytotec Misoprostol 200 mg buy online
neurontin 600 mg capsule neurontin 202 neurontin price india
cost of clomid without insurance get clomid tablets can i order generic clomid tablets
buy cytotec over the counter: buy cytotec – cytotec abortion pill
Cytotec 200mcg price: buy misoprostol over the counter – buy cytotec online
get cheap clomid price: buy clomid pills – can i purchase generic clomid prices
cost of generic propecia: cost of propecia without dr prescription – buy propecia without prescription
http://cytotec.xyz/# Abortion pills online
http://gabapentin.club/# prescription medication neurontin
can i order cheap clomid prices can you buy cheap clomid now buying clomid without rx
cheap propecia price propecia for sale cost propecia without prescription
https://gabapentin.club/# neurontin 500 mg
get generic propecia pill buying propecia without rx cost of propecia no prescription
can you buy neurontin over the counter: neurontin pills for sale – purchase neurontin canada
https://gabapentin.club/# neurontin 50mg cost
cost of brand name lisinopril: lisinopril 20 mg pill – lisinopril 40mg
neurontin over the counter: neurontin india – medicine neurontin 300 mg
cytotec abortion pill: buy cytotec pills online cheap – buy cytotec over the counter
http://propeciaf.online/# order generic propecia for sale
mexico pharmacies prescription drugs: mexican online pharmacies prescription drugs – mexican online pharmacies prescription drugs
https://mexicanpharmacy1st.online/# mexican rx online
http://mexicanpharmacy1st.com/# mexican rx online
mexico pharmacy mexico drug stores pharmacies mexican rx online
pharmacies in mexico that ship to usa: best online pharmacies in mexico – mexican online pharmacies prescription drugs
buying from online mexican pharmacy: mexico drug stores pharmacies – pharmacies in mexico that ship to usa
mexican border pharmacies shipping to usa: mexican mail order pharmacies – buying prescription drugs in mexico
mexican rx online: medicine in mexico pharmacies – mexico pharmacies prescription drugs
mexican pharmaceuticals online: pharmacies in mexico that ship to usa – mexican pharmaceuticals online
mexican online pharmacies prescription drugs mexican rx online mexican pharmaceuticals online
https://mexicanpharmacy1st.com/# mexico pharmacies prescription drugs
mexico drug stores pharmacies mexico drug stores pharmacies mexican pharmaceuticals online