我的问题如下:jQuery - 多个音频元素和音量控制
我有四个元素。每个元素都包含自动播放和循环打开的音频文件。我想实现的是:类
- 切换之间4(的.o-1,即.o-2,即.o-3,即.o-4)刚刚点击元素,所以不透明度将在每个增加点击并达到
.o-4
时,它会返回.o-1
- 音频的音量应该相同:第一个值/起点为0,第一次点击后达到0.333,第二个值为0.666,第三个为1.之后最后的值/第四次点击音频应该再次静音。
* {
box-sizing: border-box;
}
body {
padding: 0;
margin: 0;
}
.player {
display: flex;
flex-wrap: wrap;
position: relative;
margin: auto;
top: 50vh;
transform: translateY(-50%);
width: 256px;
height: 256px;
background-color: hsla(0, 0%, 80%, 1);
}
.element {
padding: 8px;
width: 128px;
height: 128px;
background-color: hsla(0, 0%, 60%, 1);
}
.o-1 {opacity: 0.2;}
.o-2 {opacity: 0.4;}
.o-3 {opacity: 0.6;}
.o-4 {opacity: 0.8;}
<div class="player">
<div class="element">
<audio autoplay loop>
<source src="blabla-1.mp3" type="audio/mpeg">
</audio>
</div>
<div class="element">
<audio autoplay loop>
<source src="blabla-2.mp3" type="audio/mpeg">
</audio>
</div>
<div class="element">
<audio autoplay loop>
<source src="blabla-3.mp3" type="audio/mpeg">
</audio>
</div>
<div class="element">
<audio autoplay loop>
<source src="blabla-4.mp3" type="audio/mpeg">
</audio>
</div>
</div>
这里是一个demo。
在此先感谢!
你的JS在哪里?你应该点击哪个单独更改不透明度?所以点击块1会增加块1的不透明度? – Gezzasa
是的,每个人单独。点击元素1将增加元素1的不透明度和音量。 –
你有没有尝试过任何Javascript?你想实现的是相当简单的。音量可以改变VIA(选择器).volume = 0.2; – Gezzasa