为自己的添加 motto 漂浮效果

我老早注册博客园账号的时候就发现,它为我们提供了很高的自主权,不过那时候代码写得蹩脚,也就一直没写博客。

成都创新互联-专业网站定制、快速模板网站建设、高性价比枣强网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式枣强网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖枣强地区。费用合理售后完善,10多年实体公司更值得信赖。

现在情况不一样了,我想把经验性的东西更好地纳入自己的知识体系,所以就想通过写博客来不断完善自己,所以从今以后我也要在博客园混啦,各位道友一定要不吝赐教!

那我入驻博客园了,JS 权限肯定不能浪费,下面是我写的一段代码,不到 100 行,放在“页脚 HTML”里就能直接使用!

 1 <style>
 2     body{
 3         overflow-x: hidden;
 4     }
 5     .life-motto{
 6         position: absolute;
 7         z-index: 100;
 8         white-space: nowrap;
 9         animation: bubble ease-out 1s forwards;
10     }
11     @keyframes bubble{
12         0% {
13             transform: translateY(0);
14             opacity: 1;
15         }
16         100%{
17             transform: translateY(-30px);
18             opacity: 0;
19         }
20     }
21 style>
22 <script>
23     class MyMotto {
24         constructor(data) {
25             this.data= data;
26             this.initPool();
27         }
28         initPool() {
29             const mottoPool= document.createElement("div");
30             mottoPool.className= "motto-pool";
31             this.mottoPool= mottoPool;
32         }
33         addMotto(x, y) {
34             const data= this.data;
35             const cur= data.shift();
36             const { text, color }= cur;
37             const motto= document.createElement("span");
38             motto.className= "life-motto";
39             motto.innerText= text;
40             motto.style.cssText= `
41                 left: ${x}px;
42                 top: ${y}px;
43                 color: ${color};
44             `;
45             this.mottoPool.appendChild(motto);
46             data.push(cur);
47         }
48         mount(el) {
49             let timer= null;
50             el.addEventListener("click", ({ pageX, pageY })=> {
51                 this.addMotto(pageX+ 10, pageY- 20);
52                 if (timer) {
53                     clearTimeout(timer);
54                 }
55                 timer= setTimeout(()=> {
56                     this.mottoPool.innerText= "";
57                 }, 1000);
58             });
59 
60             el.appendChild(this.mottoPool);
61         }
62     }
63 
64     new MyMotto([
65         { text:"热爱生活,热爱自然", color:"#c12e34" },
66         { text:"不要在心情不好的时候做决定", color:"#e6b600" },
67         { text:"向钱看,向厚看", color:"#0098d9" },
68         { text:"天冷要加衣", color:"#1b821d" },
69         { text:"要养成良好的编码风格", color:"#005eaa" },
70         { text:"多活动,多跑步", color:"#339ca8" },
71         { text:"多欣赏身边的美好", color:"#cda819" },
72         { text:"今日事,今日毕", color:"#32a487" },
73     ]).mount(document.body);
74 script>

名称栏目:为自己的添加 motto 漂浮效果
标题来源:http://hbruida.cn/article/dsopois.html