马黑黑 发表于 2022-6-12 08:17

绿

本帖最后由 马黑黑 于 2022-6-12 10:24 编辑 <br /><br /><style>
.mama { left: -214px; width: 1024px; height: 600px; background: lightgreen url('/data/attachment/forum/202206/12/081117mpv60xld560io50s.jpg') no-repeat center / cover; position: relative; box-shadow: 2px 2px 2px #333; }
.vwrap { width:300px; height: 300pxt; position: absolute; animation: fly 6s linear infinite alternate; border-radius: 50%; z-index: 999;}
.video { width: 300px; height: 300px; object-fit: cover; border-radius: 50%; clip-path: circle(50% at 50% 50%); }
.vwrap::before { position: absolute; content: ''; width: 300px; height: 300px; border-radius: 50%; background: linear-gradient( 30deg,rgba(0,255,0,.5),rgba(0,255,0,.6)); z-index: 1000; }
.lrcWrap { position: absolute; bottom: 100px; left: calc(50% - 200px); padding: 20px; width: fit-content; height: fit-content; text-align: center; background: transparent linear-gradient(rgba(255,255,255,.25), rgba(255,255,255,.15)); box-shadow: 2px 2px 4px #eee; display: flex; flex-direction: column;align-items: center; }
.meterWrap { position: relative; display: flex; align-items: center; width: fit-content; height: 50px; }
.playbtn { width: 10px; height: 20px; background: #eee; clip-path: polygon(0 0, 0% 100%, 100% 50%); cursor: pointer; }
.playbtn:hover { background: red; }
.pausebtn { width: 2px; height: 20px; border-style: solid; border-width: 0px 4px; border-color: transparent #eee; display: none; cursor: pointer; }
.pausebtn:hover { border-color: transparent red; }
.meter { position: relative; width:300px; height: 11px; cursor: pointer; background: linear-gradient(transparent 5px, snow 6px,transparent 0); }
.slider { display: block; position: absolute; width: 4px; height: 100%; background: white; }
.lrcWrap p { margin: 0 0 12px 0; padding: 0px; color: green; font: normal 1.2em sans-serif; text-shadow: 1px 1px 1px gray; }
.lrcBox { margin: 0; padding: 0; width: 400px; height: 72px; overflow: hidden; user-select: none; position: relative; }
.lrcUl { position: relative; top: 0; margin: 0; padding: 0; }
.lrcUl li { margin: 0; padding: 0; height: 24px; font: normal 18px / 24px sans-serif; color: gray; text-shadow: 1px 1px 1px black; list-style-type: none; }
@keyframes fly { from{ transform: translate(200px) rotate(0); } to { transform: translate(560px) rotate(120deg); } }
</style>

<div class="mama">
        <div class="vwrap">
                <video class="video" src="https://img.tukuppt.com/video_show/2629112/00/01/93/5b4e8bb307335.mp4" autoplay="autoplay" loop="loop" muted="muted"></video>
        </div>
                <div class="lrcWrap">
                <p>潮尘 绿</p>
                <div class="lrcBox"><ul class="lrcUl"></ul></div>
                <div class="meterWrap">
                        <div class="playbtn"></div>
                        <div class="pausebtn"></div>
                        <div class="meter"><span class="slider"></span></div>
                </div>
        </div>
</div>
<audio class="aud" src="https://music.163.com/song/media/outer/url?id=1360714052.mp3" autoplay="autoplay" loop="loop"></audio>

<script>
let aud = document.querySelector('.aud'),
        playbtn = document.querySelector('.playbtn'),
        pausebtn = document.querySelector('.pausebtn'),
        meter = document.querySelector('.meter'),
        slider = document.querySelector('.slider'),
        lrcUl = document.querySelector('.lrcUl');
let slip = 0;
let lrcAr = [
        ['0.02','词曲 : 陈雪凝'],
        ['1.42','演唱 : 潮尘'],
        ['17.10','说不痛苦那是假的'],
        ['20.37','毕竟我的心也是肉做的'],
        ['24.68','你离开时我心里的彩虹'],
        ['28.49','就变成灰色'],
        ['32.66','说不心酸那是假的'],
        ['36.21','如果我真的没那么爱过'],
        ['40.10','爱着一个没有灵魂的人'],
        ['43.48','世界都是黑色'],
        ['47.85','若不是你突然闯进 我生活'],
        ['51.71','我怎会把死守的寂寞 放任了'],
        ['55.61','爱我的话你都说'],
        ['57.51','爱我的事你不做'],
        ['59.56','我却把甜言蜜语当做你爱我的躯壳'],
        ['63.97','你的悲伤难过我不参破'],
        ['67.41','我也会把曾经的且过 当施舍'],
        ['71.28','不去计较你太多'],
        ['73.20','从此你在我心里'],
        ['75.30','只剩绿色'],
        ['95.72','说很快活那是假的'],
        ['99.10','你的名字依然那么深刻'],
        ['102.89','每个字都刺穿我的心脏'],
        ['106.76','那鲜明的痛是红色'],
        ['110.82','若不是你突然闯进 我生活'],
        ['114.62','我怎会把死守的寂寞 放任了'],
        ['118.60','爱我的话你都说'],
        ['120.52','爱我的事你不做'],
        ['122.59','我却把甜言蜜语当做你爱我的躯壳'],
        ['126.93','你的悲伤难过我不参破'],
        ['130.68','我也会把曾经的且过 当施舍'],
        ['134.44','不去计较你太多'],
        ['136.25','从此你在我心里'],
        ['138.06','只剩绿色'],
        ['140.93','呼~'],
        ['205.38','若不是你突然闯进 我生活'],
        ['209.08','我怎会把死守的寂寞 放任了'],
        ['213.00','爱我的话你都说'],
        ['214.89','爱我的事你不做'],
        ['216.95','我却把甜言蜜语当做你爱我的躯壳'],
        ['221.37','你的悲伤难过我不参破'],
        ['224.84','我也会把曾经的且过 当施舍'],
        ['228.70','不去计较你太多'],
        ['230.70','从此你在我心里'],
        ['232.80','只剩绿色'],
        ['236.79','若不是你突然闯进 我生活'],
        ['240.57','我怎会把死守的寂寞 放任了'],
        ['244.40','爱我的话你都说'],
        ['246.41','爱我的事你不做'],
        ['248.46','我却把甜言蜜语当做你爱我的躯壳'],
        ['252.79','你的悲伤难过我不参破'],
        ['256.22','我也会把曾经的且过 当施舍'],
        ['260.22','不去计较你太多'],
        ['260.28','从此你在我心里'],
        ['263.95','只剩绿色'],
        ['268.32','若不是你突然闯进 我生活'],
        ['271.92','我怎会把死守的寂寞 放任了'],
        ['275.94','爱我的话你都说'],
        ['277.80','爱我的事你不做'],
        ['280.05','我却把甜言蜜语当做你爱我的躯壳']
];

for(j=0; j<lrcAr.length; j++){
        lrcUl.innerHTML += '<li id="li' + lrcAr + '" style="list-style-type: none">' + lrcAr + '</li>';
}

aud.addEventListener('timeupdate', () => {
        let prog = (meter.clientWidth - slider.clientWidth) * aud.currentTime / aud.duration;
        slider.style.transform = 'translate(' + prog + 'px)';
        let tt = aud.currentTime;
        for(j=0; j<lrcAr.length; j++){
                if(tt >= lrcAr - slip){
                        if(j > 0){
                                let idxLast = lrcAr;
                                document.getElementById('li' + idxLast).style.color = 'gray';
                                lrcUl.style.top = '-' + (j * 24 - 24) + 'px';
                        }
                        let idx = lrcAr;
                        document.getElementById('li' + idx).style.color = 'ghostwhite';
                }
        }
})

aud.addEventListener('ended', () => {
        document.getElementById("li" + lrcAr).style.color = 'gray';
        lrcUl.style.top = 0;
})

aud.addEventListener('pause', () => btnstate(1));
aud.addEventListener('play',() => btnstate(0));

meter.onclick = (e) => {
        e = e || event;
        aud.currentTime = (e.clientX - offset(meter,"left")) * aud.duration / meter.clientWidth;
}

pausebtn.onclick = () => { aud.pause(); btnstate(1); }
playbtn.onclick = () => { aud.play(); btnstate(0); }

let offset = (obj,direction) => {
        let offsetDir = "offset" + direction.toUpperCase() + direction.substring(1);
        let realNum = obj;
        let positionParent = obj.offsetParent;
        while(positionParent != null){
                realNum += positionParent;
                positionParent = positionParent.offsetParent;
        }
        return realNum;
}

let btnstate = (paused) => {
        paused == 1 ? (playbtn.style.display = 'block', pausebtn.style.display = 'none') : (playbtn.style.display = 'none', pausebtn.style.display = 'block');
}

aud.paused ? btnstate(1) : btnstate(0);
</script>

东篱闲人 发表于 2022-6-12 08:56

又玩球。。。。{:5_158:}

马黑黑 发表于 2022-6-12 08:58

东篱闲人 发表于 2022-6-12 08:56
又玩球。。。。

本来想送你玩的,怕你分心就算了

东篱闲人 发表于 2022-6-12 09:00

马黑黑 发表于 2022-6-12 08:58
本来想送你玩的,怕你分心就算了

你自己玩吧。。。{:4_174:}

马黑黑 发表于 2022-6-12 09:11

东篱闲人 发表于 2022-6-12 09:00
你自己玩吧。。。

只能如此,不能影响你骑驴走四方{:5_106:}

红影 发表于 2022-6-12 09:24

好奇特,那转动的圆球和外围还是动态的。视频还能这样玩,太赞了{:4_199:}

红影 发表于 2022-6-12 09:25

当中的绿球被你变色后,比愿视频还好看,看着很玄幻的样子{:4_199:}

红影 发表于 2022-6-12 09:26

感觉只要当中的圆就很好看,外面的蓝可以不要了{:4_173:}

红影 发表于 2022-6-12 09:30

不过外面的蓝很奇特,三角形的边可以不断变化的{:4_187:}

马黑黑 发表于 2022-6-12 09:31

红影 发表于 2022-6-12 09:24
好奇特,那转动的圆球和外围还是动态的。视频还能这样玩,太赞了

这应该是可以想得到的吧。HTML里,一切皆盒子,是盒子,让它干嘛干嘛的。
当然,图片,音频界面,视频,是特殊的盒子,一些其他元素所拥有的属性它们不一定有,但包裹在父元素之下,通过父元素给变相增加我们需要的属性(比如伪元素样式),总还是可以的,甚至我们可以这样改变图片、视频的颜色(实际上相当于给它一个“滤镜”)。

马黑黑 发表于 2022-6-12 09:32

红影 发表于 2022-6-12 09:26
感觉只要当中的圆就很好看,外面的蓝可以不要了

还是要配套的吧

马黑黑 发表于 2022-6-12 09:33

红影 发表于 2022-6-12 09:25
当中的绿球被你变色后,比愿视频还好看,看着很玄幻的样子

像是装在水晶球里一样,东篱很想玩的,嘴里说不想玩而已{:5_117:}

马黑黑 发表于 2022-6-12 09:35

红影 发表于 2022-6-12 09:30
不过外面的蓝很奇特,三角形的边可以不断变化的

哪里有三角形?

马黑黑 发表于 2022-6-12 10:26

红影 发表于 2022-6-12 09:30
不过外面的蓝很奇特,三角形的边可以不断变化的

我找到三角形了,两个。已经处理。谢谢提醒。

我的浏览器内核版本很高,一直看不到三角形的。

四海八荒 发表于 2022-6-12 10:35

东篱闲人 发表于 2022-6-12 08:56
又玩球。。。。

星球大战{:4_173:}

加林森 发表于 2022-6-12 10:48

圆滚滚的球不停的在动,挺好玩的。全部是绿的,我也给你个绿的颜色。{:4_189:}

加林森 发表于 2022-6-12 10:50

有点像时间隧道呢。老黑越玩花样越多了。我搞不赢了。{:4_189:}

山人 发表于 2022-6-12 11:26

https://www.huachaowang.com/forum.php?mod=viewthread&tid=60359

红影 发表于 2022-6-12 11:43

马黑黑 发表于 2022-6-12 09:31
这应该是可以想得到的吧。HTML里,一切皆盒子,是盒子,让它干嘛干嘛的。
当然,图片,音频界面,视频, ...

用盒子把它变成什么样,也是个挺有讲究的事。这里的滤镜加得好,比愿视频还好看{:4_173:}

马黑黑 发表于 2022-6-12 11:44

红影 发表于 2022-6-12 11:43
用盒子把它变成什么样,也是个挺有讲究的事。这里的滤镜加得好,比愿视频还好看

有时候要化妆一下,和人一样的吧
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 绿