晚霞的剪影(学习使用时钟代码)
<style type="text/css">
/* 背景图 */
#xq { position: relative; left:-216px; top:120px; width: 1024px; height: 640px; background-image: url('https://pic.imgdb.cn/item/6238144327f86abb2a956e2a.jpg'); box-shadow: 4px 4px 5px #888; border-radius:12px;
}
/* 转动时钟 */
#outer {
left:660px; top: 60px;
display: flex;
justify-content: center;
width: 200px;
height: 200px;
border: 10px solid rgba(47, 79, 79, .7);
border-radius: 50%;
background: rgba(240, 248, 255, 0.6);
font: 12px/13px Arial;
position: relative;
}
#outer::before {
content: '花 潮 论 坛';
position: absolute;
width: 50%;
height: 20px;
text-align: center;
top: 75%;
}
#outer div { position: absolute; }
#nyrx {
color: #2f4f4f;
top: 25%;
text-align: center;
}
.kedu {
width: 3px;
height: 4px;
background: #2f4f4f;
transform-origin: 50% 100px;
}
#sec-hand, #min-hand, #hr-hand {
background: #2f4f4f;
bottom: 50%;
transform-origin: 50% 100%;
}
#sec-hand {
width: 2px;
height: 48%;
background: #d00;
z-index: 10;
}
#sec-hand::before {
content:'';
position: absolute;
background: #2f4f4f;
width: 12px;
height: 12px;
border-radius: 50%;
bottom: -4px;
left: -5px;
}
#min-hand {
width: 4px;
height: 45%;
z-index: 9;
}
#hr-hand {
width: 6px;
height: 40%;
z-index: 8 ;
}
/* 播放按钮 */
.picBtn {
width: 144px;
height: 52px;
border: none;
outline: none;
border-radius: 8px;
background: transparent url('https://pic.imgdb.cn/item/6238153e27f86abb2a9a9323.gif') no-repeat;
cursor: pointer;
}
</style>
<div id="xq" >
<div id="outer">
<div id="nyrx"></div>
<div id="sec-hand"></div>
<div id="min-hand"></div>
<div id="hr-hand"></div>
</div>
<div style="position: absolute; left:100px; top: 166px; width:342px; opacity: .95;">
<p ><font color="#89482a" size="4" >
<marqueescrollamount="3" direction="left" >缠绵的小号声柔情万千,摇曳多姿,仿佛晚风吹拂下的记忆缥缈悠远,情意绵绵……</marquee></p>
</div>
<!-- 控制按钮应是父盒子的第一代子元素 -->
<div style="position:absolute; width:144px; left: 120px; top:calc(100% - 240px); text-align:center;">
<button id="picBtn" class="picBtn"></button>
</div>
</div>
<!-- 因为播放器不要界面,无需放在帖子父盒子内 -->
<audio id="music" autoplay="autoplay" loop="loop" src="http://music.163.com/song/media/outer/url?id=426027229.mp3" ></audio>
<script language="javascript">
var mu = document.getElementById('music');
var btn = document.getElementById('picBtn');
btn.onclick = function(){
mu.paused ? (mu.play(), btn.style.background="url('https://pic.imgdb.cn/item/6238153e27f86abb2a9a9323.gif')") : (mu.pause(), btn.style.background="url('https://pic.imgdb.cn/item/623814ec27f86abb2a99801f.png')");
}
mu.addEventListener("ended", function(){
btn.style.background="url('https://pic.imgdb.cn/item/623814ec27f86abb2a99801f.png')";
});
document.getElementById("outer").innerHTML += setKedu();
godPush();
function godPush() {
/* 上帝之手 : 时钟的第一推动力→无尽永动
① 确定初始角度并旋转指针 ② 调用创建keyframes函数
③ 现实年月日星期信息
*/
let dayStr = "日一二三四五六";
let now = new Date();
let hr = now.getHours() > 12 ? now.getHours() - 12 : now.getHours(),
min = now.getMinutes(),
sec = now.getSeconds(),
msec = now.getMilliseconds(),
yy = now.getFullYear() + "年",
mm = (now.getMonth() + 1) + "月",
dt = now.getDate() + "日",
dd = "<br>星期" + dayStr.charAt(now.getDay());
let hDeg = hr * 30 + (min * 6 / 12),
mDeg = min * 6 + (sec * 6 / 60),
sDeg = sec * 6 + (msec * 0.36 / 1000);
document.getElementById("nyrx").innerHTML = yy + mm + dt + dd;
document.getElementById("hr-hand").style.transform = "rotate(" + hDeg + "deg)";
document.getElementById("min-hand").style.transform = "rotate(" + mDeg + "deg)";
document.getElementById("sec-hand").style.transform = "rotate(" + sDeg + "deg)";
createkeyFrames("sec-hand", "secRoll", 60,sDeg);
createkeyFrames("min-hand", "minRoll", 3600,mDeg);
createkeyFrames("hr-hand", "hrRoll", 43200,hDeg);
}
function setKedu() {
/* 绘制60个刻度 被5整除为整点刻度 */
let str = "", bigKedu = "";
for(i = 0;i < 60;i ++) {
bigKedu = i % 5 == 0? "background: #2f4f4f; width: 5px; height: 7px;" : "";
str += "<div class='kedu' style='transform: rotate(" + (i * 6) + "deg);" + bigKedu +
"'></div>";
}
return str;
}
function createkeyFrames(el,name,dur,angle) {
/* 创建keyframes动画
el : 元素id名称
name : keyframes名称
dur : duration 动画运行周期
angle : 初始角度
*/
let kStr = '@keyframes ' + name + '{to { transform: rotate(' + (360 + angle) + 'deg) } }';
let style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = kStr;
document.getElementById(el).appendChild(style);
document.getElementById(el).style.animation = name + " " + dur + "s linear infinite";
}
</script>
<br><br><br><br><br><br><br><br> 弄了个飞碟当播放器按钮 还是喜欢黑黑原来的那个配色,就把最后的时钟改成了原来的颜色@马黑黑{:4_173:} 红影好制作,有创意。{:4_199:} 这钟是北京时间嘛{:4_189:} 加林森 发表于 2022-3-21 15:48
红影好制作,有创意。
谢谢队长鼓励,只是做个试验,不用加精呢{:4_173:} 上海朝阳 发表于 2022-3-21 18:42
这钟是北京时间嘛
是啊,是系统内容时间,用马黑黑的代码就能调用出来呢{:4_173:} 红影 发表于 2022-3-21 19:14
谢谢队长鼓励,只是做个试验,不用加精呢
这个必须的,有创意就加嘛。{:4_204:} 加林森 发表于 2022-3-21 19:28
这个必须的,有创意就加嘛。
至少别加粗啊,一个练习作业而已{:4_173:} 红影 发表于 2022-3-21 19:31
至少别加粗啊,一个练习作业而已
我感觉应该加的,不知道能不能加? 师妹好厉害呵,又学会一门武功。{:4_203:} 时钟的透明效果在有背景图层的情况下很明显。
帖子很漂亮,赞个 加林森 发表于 2022-3-21 19:39
我感觉应该加的,不知道能不能加?
我这个是练习帖子呢,高亮再加粗就太过了点{:4_173:} 樵歌 发表于 2022-3-21 19:42
师妹好厉害呵,又学会一门武功。
刚学的一个,这个钟和咱们现在的时间一致的呢{:4_173:} 马黑黑 发表于 2022-3-21 19:47
时钟的透明效果在有背景图层的情况下很明显。
帖子很漂亮,赞个
谢谢黑黑,这个作业就算通过了呗{:4_173:}
感觉css语句比较多,滚动字就偷懒还是用原来的方式了,主要怕再加语句最后把自己弄糊涂{:4_173:} 这小号把飞碟吹转起来了 飞碟很有乐感,像跳舞 {:4_187:} 来看你 发表于 2022-3-21 20:14
这小号把飞碟吹转起来了
哈哈,是不是很牛{:4_189:} 来看你 发表于 2022-3-21 20:16
飞碟很有乐感,像跳舞
找了个飞碟小动图,用来当音乐按钮了{:4_173:} 红影 发表于 2022-3-21 20:24
哈哈,是不是很牛
高科技啊高科技 {:4_187:}