生日快乐代码js特效

美女程序员鼓励师

在学习了不少js知识点后,如果有身边人快过生日,可以通过js代码编写出生日快乐的特效送给他。既是给别人一个惊喜,也是自身js学习的一个检验。在开始js运行时,我们要先检验下代码运行的环境是否符合,然后就生日快乐的代码展开讲解。

1.js代码运行环境

浏览器(引擎)

node(基于v8渲染js)

webview(v8引擎)

2.js生日快乐代码

<div class="button-style1">

<a href="Memories.html" class="lk1">

<div class="link1">

<div class="bt1">

我很喜欢

</div>

</div>

</a>    

</div>

<div class="button-style2">

<a class="lk2">

<div class="link2">

<div class="bt1">

我不喜欢

</div>

</div>

</a> 

</div>

.button-style1 ,.button-style2{

position:absolute;

top:41%;

opacity:1;

z-index:100;

}

.button-style1 {

position:absolute;

left:20%;

animation:btn1 15s; /*这是CSS3的动画属性,着这里定义动画的名称和持续时间,也可以用animation-delay定义动画延时多少s播放*/

}

.button-style2 {

position:absolute;

left:68%;

animation:btn2 15s;

}

@keyframes btn1 { /*这里是对动画的定义,我们只需要定义几个关键帧,它会自动完成补间。*/

0% {

opacity:0;

left:43.5%;

}

70% {

opacity:0;

left:43.5%;

}

100% {

opacity:1;

left:20%;

}

}

@-webkit-keyframes btn1 { /*这里是声明获取不同浏览器的支持,还有几个干脆我就懒得写了,反正我也不是给所有人写的,自己能看就行*/

0% {

opacity:0;

left:43.5%;

}

70% {

opacity:0;

left:43.5%;

}

100% {

opacity:1;

left:20%;

}

}

@keyframes btn2 {

0% {

opacity:0;

left:43.5%;

}

70% {

opacity:0;

left:43.5%;

}

100% {

opacity:1;

left:68%;

}

}

@-webkit-keyframes btn2 {

0% {

opacity:0;

left:43.5%;

}

70% {

opacity:0;

left:43.5%;

}

100% {

opacity:1;

left:68%;

}

}

.lk1,.lk2 {

text-decoration:none;

font-family: Microsoft YaHei;

color:#fff;

transition:all 0.5s;

}

.link1,.link2 {

width:170px;

height:60px;

border:2px solid #fff;

-webkit-border:1px solid #fff;

border-radius:30px;

font-size: 23px;

text-align:center;

background: #ee9ca7;

transition:all 0.8s;

}

.link2 {

cursor:not-allowed;

}

.bt1,.bt2 {

position:relative;

top:22%;

vertical-align:middle;

}

 

a.lk1:hover { /*这里使用CSS选择器,定义鼠标滑过效果*/

color:#ee9ca7;

transition:all 0.5s;

}

.link1:hover {

background-color:#fff;

background-color:rgba(255,255,255,0,2);

border:2px solid #BBB;

transition:all 0.8s;

}

a.lk2:hover {

color:#ee9ca7;

transition:all 0.5s;

}

.link2:hover {

background-color:#fff;

background-color:rgba(255,255,255,0,2);

border:2px solid #BBB;

transition:all 0.8s;

}

<div class="section">

          <div class="ly-box01">

            <div class="ly-txt01">

              <p class="ly-stxt01">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt02">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt03">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt04">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt05">XXXXXXXXXXXXXXXXXXXXXXX</p>

            </div>

            <div class="ly-txt02">

              <p class="ly-stxt06">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt07">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt08">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt09">XXXXXXXXXXXXXXXXXXXXXXX</p>

              <p class="ly-stxt10">XXXXXXXXXXXXXXXXXXXXXXX</p>

            </div>

        </div>

      </div>

.ly-box01 {

width:50px;

height:50px;

background-color:#FFF;

border-radius: 25px;

position: absolute;

left: 48%;

bottom: 50%;

margin-bottom:50%;

overflow: hidden;

transform-origin:center bottom;

animation:box_to_point 18.5s 0s,bounce 2.5s 18.5s;

}

 

@keyframes box_to_point{

0% {

margin-bottom:50%;

width:50px;

height:50px;

border-radius: 25px;

position: absolute;

left: 48%;

bottom: 50%;

}

10% {

margin-bottom:0;

width:50px;

height:50px;

border-radius: 25px;

background-color:rgba(255,255,255,1);

position: absolute;

left: 48%;

bottom: 50%;

}

14% {

margin-bottom:0;

width: 80%;

height: 550px;

border-radius: 6px;

background-color:rgba(255,255,255,0.5);

position: absolute;

left: 10%;

bottom: 12%;

}

96% {

margin-bottom:0;

width: 80%;

height: 550px;

border-radius: 6px;

background-color:rgba(255,255,255,0.6);

position: absolute;

left: 10%;

bottom: 12%;

}

100% {

margin-bottom:0;

width:50px;

height:50px;

border-radius: 25px;

background-color:rgba(255,255,255,1);

position: absolute;

left: 48%;

bottom: 50%;

}

}

@-webkit-keyframes box_to_point{

0% {

margin-bottom:50%;

width:50px;

height:50px;

border-radius: 25px;

position: absolute;

left: 48%;

bottom: 50%;

}

10% {

margin-bottom:0;

width:50px;

height:50px;

border-radius: 25px;

background-color:rgba(255,255,255,1);

position: absolute;

left: 48%;

bottom: 50%;

}

14% {

margin-bottom:0;

width: 80%;

height: 550px;

border-radius: 6px;

background-color:rgba(255,255,255,0.5);

position: absolute;

left: 10%;

bottom: 12%;

}

96% {

margin-bottom:0;

width: 80%;

height: 550px;

border-radius: 6px;

background-color:rgba(255,255,255,0.6);

position: absolute;

left: 10%;

bottom: 12%;

}

100% {

margin-bottom:0;

width:50px;

height:50px;

border-radius: 25px;

background-color:rgba(255,255,255,1);

position: absolute;

left: 48%;

bottom: 50%;

}

}

@keyframes bounce{

0% {

margin-bottom:0;

width: 50px;

height: 50px;

border-radius: 25px;

bottom:50%;

left: 48%;

}

50% {

margin-bottom:0;

left: 48%;

width: 50px;

height: 50px;

border-radius: 25px;

bottom:0;

left: 48%;

}

100% {

margin-bottom:0;

width: 20px;

height: 20px;

border-radius: 10px;

left: 48%;

bottom: 0;

left: 20%;

}

}

@-webkit-keyframes bounce{

0% {

margin-bottom:0;

width: 50px;

height: 50px;

border-radius: 25px;

bottom:50%;

left: 48%;

}

50% {

margin-bottom:0;

left: 48%;

width: 50px;

height: 50px;

border-radius: 25px;

bottom:0;

left: 48%;

}

100% {

margin-bottom:0;

width: 20px;

height: 20px;

border-radius: 10px;

left: 48%;

bottom: 0;

left: 20%;

}

}

/*文本*/

.ly-txt01 {

position:absolute;

width: 40%;

left:10%;

top:10%;

}

.ly-txt02 {

position:absolute;

width: 40%;

left:60%;

top:10%;

}

.ly-stxt01 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

left: 5%;

top: 5%;

opacity: 0;

animation:ly-stxt01_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt01_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt01_move{

0% {opacity:0;}

8% {opacity:1;}

90% {opacity:1;}

98% {opacity:0;}

100% {opacity:0;}

}

@-webkit-keyframes ly-stxt01_move{

0% {opacity:0;}

8% {opacity:0;}

90% {opacity:1;}

98% {opacity:0;}

100% {opacity:0;}

}

 

.ly-stxt02 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

left: 5%;

top: 5%;

margin-top:-71px;

opacity: 0;

animation:ly-stxt02_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt02_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt02_move{

0% {opacity:0;margin-top:-71px;}

8% {opacity:0;margin-top:-71px;}

16% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt02_move{

0% {opacity:0;margin-top:-71px;}

8% {opacity:0;margin-top:-71px;}

16% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt03 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

left: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt03_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt03_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt03_move{

0% {opacity:0;margin-top:-71px;}

16% {opacity:0;margin-top:-71px;}

24% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt03_move{

0% {opacity:0;margin-top:-71px;}

16% {opacity:0;margin-top:-71px;}

24% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt04 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

left: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt04_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt04_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt04_move{

0% {opacity:0;margin-top:-71px;}

24% {opacity:0;margin-top:-71px;}

32% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt04_move{

0% {opacity:0;margin-top:-71px;}

24% {opacity:0;margin-top:-71px;}

32% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt05 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

left: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt05_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt05_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt05_move{

0% {opacity:0;margin-top:-71px;}

32% {opacity:0;margin-top:-71px;}

40% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt05_move{

0% {opacity:0;margin-top:-71px;}

32% {opacity:0;margin-top:-71px;}

40% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt06 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

right: 5%;

top: 5%;

opacity: 0;

animation:ly-stxt06_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt06_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt06_move{

0% {opacity:0;}

40% {opacity:0;}

48% {opacity:1;}

90% {opacity:1;}

100% {opacity:0;}

}

@-webkit-keyframes ly-stxt06_move{

0% {opacity:0;}

40% {opacity:0;}

48% {opacity:1;}

90% {opacity:1;}

100% {opacity:0;}

}

 

.ly-stxt07 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

right: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt07_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt07_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt07_move{

0% {opacity:0;margin-top:-71px;}

48% {opacity:0;margin-top:-71px;}

56% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt07_move{

0% {opacity:0;margin-top:-71px;}

48% {opacity:0;margin-top:-71px;}

56% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt08 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

right: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt08_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt08_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt08_move{

0% {opacity:0;margin-top:-71px;}

56% {opacity:0;margin-top:-71px;}

64% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt08_move{

0% {opacity:0;margin-top:-71px;}

56% {opacity:0;margin-top:-71px;}

64% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt09 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

right: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt09_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt09_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt09_move{

0% {opacity:0;margin-top:-71px;}

64% {opacity:0;margin-top:-71px;}

72% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt09_move{

0% {opacity:0;margin-top:-71px;}

64% {opacity:0;margin-top:-71px;}

72% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

 

.ly-stxt10 {

font-family: Microsoft YaHei;

font-size: 30px;

font-color: #000;

position: relative;

right: 5%;

top: 5%;

opacity: 0;

margin-top:-71px;

animation:ly-stxt10_move 15s;

animation-delay:3s;

-webkit-animation:ly-stxt10_move 15s;

-webkit-animation-delay:3s;

}

@keyframes ly-stxt10_move{

0% {opacity:0;margin-top:-71px;}

72% {opacity:0;margin-top:-71px;}

80% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

@-webkit-keyframes ly-stxt10_move{

0% {opacity:0;margin-top:-71px;}

72% {opacity:0;margin-top:-71px;}

80% {opacity:1;margin-top:0;}

90% {opacity:1;margin-top:0;}

100% {opacity:0;margin-top:0;}

}

以上就是使用js代码做的生日快乐特效,其中还包括了HTML5和CSS3的知识点,在进行代码编写时要灵活运用其他的知识模块。

以上是 生日快乐代码js特效 的全部内容, 来源链接: utcz.com/z/542255.html

回到顶部