我很早就有了为网站开发留声机形式的音频播放器的想法。我已经创建了一个旋转记录,我没有预见到案例背后有什么特别的复杂性,但是我还想在 CSS 上制作一个带喇叭的针,这样你就可以用鼠标抓住、抬起和重新排列针从一个地方记录到另一个地方。我想根据一个示例模型,如这些图片中所示:
有人对此有任何想法吗?如果是,我将不胜感激。我附上了旋转板的草图代码:
let garmony = [1, 2, 5, 7, 9, 17];
for(i = 0; i < 2 * Math.PI; i += 0.015){
let translateZ = 0;
for(j = 0; j < garmony.length; j ++){
translateZ += 0.7 * Math.sin(i * garmony[j]);
}
let d = document.createElement('span'),
x = 100 + Math.floor(100 * Math.sin(i)),
y = 100 + Math.floor(100 * Math.cos(i));
d.style.transform = 'translateX(' + x + 'px) translateY(' + y + 'px) translateZ(' + translateZ + 'px)';
s.append(d);
}
*{
transition: 2s;
}
#c{
transform: translateX(0px) rotateX(70deg) rotateZ(0deg);
transform-style: preserve-3d;
}
#s{
width: 200px;
height: 200px;
transform-style: preserve-3d;
animation: progress 10s linear infinite;
}
span{
position: absolute;
width: 2px;
height: 2px;
border-style: solid;
border-width: 0px;
background: black;
}
@keyframes progress{
from{transform: rotateZ(0deg);}
to{transform: rotateZ(360deg);}
}
<div id=c><div id=s></div></div>