上一期我们介绍了外观设计,这把我们聊聊让进度条跟随播放进度走
目录
预期效果
准备
- 在此之前,你需要有以下基础:
- 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>
- 最终效果:
- 默认是静音的,可以点击播放试试
https://tadalafiliq.com/# Buy Cialis online
https://kamagraiq.shop/# Kamagra 100mg price
http://tadalafiliq.shop/# Cialis without a doctor prescription
cialis for sale: tadalafil iq – Generic Cialis price
Kamagra tablets: Kamagra 100mg – Kamagra 100mg price
http://kamagraiq.com/# cheap kamagra
Sildenafil 100mg price: buy viagra online – Cheap Viagra 100mg
Kamagra 100mg price: Kamagra Iq – buy kamagra online usa
https://kamagraiq.com/# Kamagra 100mg price
cheapest cialis: cheapest cialis – Cheap Cialis
https://tadalafiliq.com/# Generic Cialis without a doctor prescription
https://kamagraiq.com/# sildenafil oral jelly 100mg kamagra
Viagra without a doctor prescription Canada: generic ed pills – Viagra generic over the counter
https://tadalafiliq.com/# Cialis 20mg price in USA
Generic Cialis price: cheapest cialis – Cialis over the counter
http://sildenafiliq.com/# sildenafil 50 mg price
Buy Cialis online: cialis generic – Cialis without a doctor prescription
Generic Viagra online: sildenafil iq – buy Viagra online
Sildenafil Citrate Tablets 100mg: over the counter sildenafil – Cheap generic Viagra
Hey there! Do you know if they make any plugins
to help with Search Engine Optimization? I’m trying to get my website to rank for some
targeted keywords but I’m not seeing very good success.
If you know of any please share. Kudos! I saw similar text here: GSA Verified List
Order Viagra 50 mg online: buy viagra online – Buy generic 100mg Viagra online
https://kamagraiq.shop/# Kamagra 100mg
https://sildenafiliq.xyz/# sildenafil online
buy kamagra online usa: kamagra best price – Kamagra 100mg price
cialis generic: Cialis 20mg price in USA – Tadalafil price
Buy Tadalafil 20mg: Cialis over the counter – cheapest cialis
http://sildenafiliq.com/# Viagra online price
Generic Cialis price: Generic Tadalafil 20mg price – Cheap Cialis
https://tadalafiliq.shop/# п»їcialis generic
https://zithromaxall.com/# order zithromax over the counter
http://zithromaxall.shop/# zithromax coupon
amoxicillin discount: amoxicillin 500mg buy online uk – amoxicillin 500mg price
http://clomidall.shop/# can i buy generic clomid no prescription
buy amoxicillin canada: amoxicillin 500mg capsules – how to buy amoxycillin
http://clomidall.shop/# where can i buy clomid prices
http://zithromaxall.com/# zithromax tablets
http://prednisoneall.shop/# prednisone tablets
https://clomidall.com/# buying generic clomid tablets
http://amoxilall.shop/# amoxicillin buy online canada
prednisone 10 mg canada: 1 mg prednisone daily – buying prednisone from canada
https://prednisoneall.shop/# prednisone 0.5 mg
zithromax cost uk: zithromax cost uk – where can i buy zithromax capsules
http://prednisoneall.com/# generic prednisone cost
http://prednisoneall.com/# buy generic prednisone online
https://amoxilall.com/# 875 mg amoxicillin cost
Hi there! Do you know if they make any plugins to assist with Search Engine Optimization? I’m trying to get my blog to
rank for some targeted keywords but I’m not seeing very good gains.
If you know of any please share. Appreciate it!
You can read similar text here: Scrapebox AA List
https://clomidall.shop/# cost of generic clomid no prescription
https://prednisoneall.shop/# prednisone for cheap
https://amoxilall.shop/# where can i get amoxicillin 500 mg
where can i get cheap clomid: can you buy generic clomid without prescription – cheap clomid no prescription