一款jquery和css3实现的卡通人物动画特效

之前为大家分享了很多jquery和css3的动画实例。今天给大家带来一款非常炫的jquery和css3实现的卡通人物动画特效。效果图如下:

在线预览   源码下载

实现的代码。

html代码:

  <div class="wrapper">
        <div class="border-circle" id="one">
        </div>
        <div class="border-circle" id="two">
        </div>
        <div class="background-circle">
            <div class="triangle-light">
            </div>
            <div class="body">
            </div>
            <span class="shirt-text">W</span> <span class="shirt-text">E</span> <span class="shirt-text">
                ♥</span> <span class="shirt-text">S</span> <span class="shirt-text">A</span>
            <span class="shirt-text">L</span> <span class="shirt-text">E</span> <span class="shirt-text">
                S</span>
            <div class="triangle-dark">
            </div>
        </div>
        <div class="arms">
        </div>
        <div class="head">
            <div class="ear" id="left">
            </div>
            <div class="ear" id="right">
            </div>
            <div class="hair-main">
                <div class="sideburn" id="left">
                </div>
                <div class="sideburn" id="right">
                </div>
                <div class="hair-top">
                </div>
                <div class="hair-back">
                </div>
            </div>
            <div class="face">
                <div class="hair-bottom">
                </div>
                <div class="nose">
                </div>
                <div class="eye-shadow" id="left">
                    <div class="eyebrow">
                    </div>
                    <div class="eye-one">
                        <div class="iris">
                        </div>
                    </div>
                </div>
                <div class="eye-shadow" id="right">
                    <div class="eyebrow">
                    </div>
                    <div class="eye-two">
                        <div class="iris">
                        </div>
                    </div>
                </div>
                <div class="mouth">
                </div>
                <div class="shadow-wrapper">
                    <div class="shadow">
                    </div>
                </div>
            </div>
        </div>
        <span class="music-note" id="one">$</span> <span class="music-note" id="two">$</span>
    </div>

css3代码:

  body, html{
  width:100%;
  height:100%;
  margin:0;
  display: table;
  text-align: center;
  z-index:0;
}

.wrapper{
  display: table-cell;
  vertical-align: middle;
  position: relative;
}
.background-circle{
  width: 100vw;
  height: 400px;
  border-radius: 0%;
  overflow: hidden;
  z-index:-1;
  margin: 0 auto;
  background: #FFE6E1;
  position: relative;
  -webkit-mask-image: -webkit-radial-gradient(#BADA55, #BADA55);
  -moz-mask-image: -webkit-radial-gradient(#BADA55, #BADA55);
  -o-mask-image: -webkit-radial-gradient(#BADA55, #BADA55);
  -ms-mask-image: -webkit-radial-gradient(#BADA55, #BADA55);
  animation:grow 0.7s 1 ease;
  -webkit-animation:grow 0.7s 1 ease;
  transform-origin: center;
}
.border-circle{
  width: 399px;
  height: 399px;
  border-radius: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -220px;
  margin-top: -220px;
  border: 10px solid #FCB040;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center;
  transform-origin: center;
}
.border-circle#one{
  animation:border-pulse 1s 3.1s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:border-pulse 1s 3.1s 1 ease;
  -webkit-animation-fill-mode: forwards;
}
.border-circle#two{
  animation:border-pulse 1s 3.3s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:border-pulse 1s 3.3s 1 ease;
  -webkit-animation-fill-mode: forwards;
}

.body{
  width: 150px;
  height: 600px;
  margin: 0 auto;
  background: #ff5200;
  border-radius: 10%;
  position: relative;
  z-index:2;
  top: 200px;
  animation:body-enter 0.7s 0.2s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:body-enter 0.7s 0.2s 1 ease;
  -webkit-animation-fill-mode: forwards;
/*  box-shadow: 2px 3px 4px rgba(0,0,0,.4);
*/}

.head{
  width: 156px;
  height: 220px;
  z-index:5;
  border-radius: 100%;
  background: #FFE4BE;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -210px;
  margin-left: -80px;
  animation:grow 0.7s 0.4s 1 ease, music-move 1s 3.3s infinite alternate ease-in-out;
  -webkit-animation:grow 0.7s 0.4s 1 ease, music-move 1s 3.3s infinite alternate ease-in-out;
/*
  animation:grow 0.7s 0.4s 1 ease;
  -webkit-animation:grow 0.7s 0.4s 1 ease;
*/
  transform-origin: bottom;
  -webkit-transform-origin: bottom;
}

.hair-main{
  width:180px;
  height: 0px;
  background:#D8C078;
  border-radius: 54px 54px 0px 0px;
  margin-top: -10px;
  animation:hair-anim 0.7s 0.9s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:hair-anim 0.7s 0.9s 1 ease;
  -webkit-animation-fill-mode: forwards;
  position: relative;
  z-index: 2;
}

.hair-back{
  width:30px;
  height: 0px;
  background: #D8C078;
  border-radius:40%;
  right:-90%;
 animation:hairback-anim 0.7s 0.9s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:hairback-anim 0.7s 0.9s 1 ease;
  -webkit-animation-fill-mode: forwards;
  position: relative;
  z-index: 0;
}
.hair-top{
  width: 128px;
  height: 70px;
  opacity: 0;
  border-top-right-radius: 30px;
  background: D8C078;
  position: relative;
  top: -17px;
  left: 50%;
  transform: translateX(-64px);
  -webkit-transform: translateX(-64px);
  transform-origin: right;
  -webkit-transform-origin: right;
  animation:hair-top-anim 0.7s 1s 1 ease;
  -webkit-animation:hair-top-anim 0.7s 1s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

.hair-bottom{
  width: 54px;
  height: 50px;
  opacity: 0;
  border-bottom-left-radius: 25px;
  background: #D8C078;
  position: relative;
  top: -20px;
  left: 50%;
  transform: translateX(-27px);
  -webkit-transform: translateX(-27px);
  transform-origin: left;
  -webkit-transform-origin: left;
  animation:hair-bottom-anim 0.7s 1.4s 1 ease;
  -webkit-animation:hair-bottom-anim 0.7s 1.4s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

.sideburn{
  width: 8px;
  height: 25px;
  background:#D8C078;
  position: absolute;
  bottom: -25px;
  opacity: 0;
  animation:sideburn-anim 0.7s 0.9s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:sideburn-anim 0.7s 0.9s 1 ease;
  -webkit-animation-fill-mode: forwards;
}

.sideburn#left{
  left: 12px;
}

.sideburn#right{
  right: 12px;
}

.face{
  width: 120px;
  height: 0px;
  border-radius: 20%;
  background: #FFE4BE;
  position: absolute;
  top: 40px;
  left: 20px;
  animation:hair-anim 0.1s 0.8s 1 linear;
  animation-fill-mode: forwards;
  -webkit-animation:hair-anim 0.1s 0.8s 1 linear;
  -webkit-animation-fill-mode: forwards;
  z-index: 3;
}
.nose{
  width: 10px;
  height: 35px;
  opacity: 1;
  background: #FFE4BE;
  border-top-left-radius: 20px;
  position: absolute;
  left: 60%;
  top: 80px;
  margin-left:-20px;
  animation:shadow-anim 0.7s 3s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:shadow-anim 0.7s 3s 1 ease;
  -webkit-animation-fill-mode: forwards;
  opacity: 0;
  z-index: 5;
}
.ear{
  width: 24px;
  height: 35px;
  background: #FFE4BE;
  border-radius: 12px;
  position: absolute;
  top: 116px;
  z-index:3;
  animation:grow 0.7s 1.3s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:grow 0.7s 1.3s 1 ease;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.mouth{
  width: 56px;
  height: 23px;
  border-radius: 0 0 33px 33px;
  background: white;
  position: absolute;
  top: 130px;
  left: 55%;
  margin-left: -33px;
  animation:grow 0.7s 2.6s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:grow 0.7s 2.6s 1 ease;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.ear#left{
  left: -12px;
}
.ear#right{
  right: -12px;
}
.eye-shadow{
  width:40px;
  height: 10px;
  border-radius: 0 0 15px 15px;
  background:rgba(149,36,0,0);
  position: absolute;
  top: 70px;
  animation:grow 0.7s 2s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:grow 0.7s 2s 1 ease;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.eye-shadow#left{
  left:0% ;
  z-index: 0;
}
.eye-shadow#right{
    right:10% ;

}
.eyebrow{
  width: 40px;
  height: 2px;
  background: #D8C078;
  position: absolute;
  top: -35px;
  left: 50%;
  margin-left: -20px;
  opacity: 0;
  -webkit-backface-visibility: hidden;
}
.eye-shadow#left .eyebrow{
  animation:eyebrow-anim-left 0.7s 2.2s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:eyebrow-anim-left 0.7s 2.2s 1 ease;
  -webkit-animation-fill-mode: forwards;
}
.eye-shadow#right .eyebrow{
  animation:eyebrow-anim-right 0.7s 2.2s 1 ease, eyebrow-raise 2s 6.6s infinite alternate ease-in-out;
  animation-fill-mode: forwards;
  -webkit-animation:eyebrow-anim-right 0.7s 2.2s 1 ease, eyebrow-raise 2s 6.6s infinite alternate ease-in-out;
  -webkit-animation-fill-mode: forwards;
}
.eye-one{overflow:hidden;
  width: 40px;
  height: 20px;
  border-radius: 100%;
  background: white;
  position: relative;
  top: -18px;
  padding:1px;

  animation:grow 0.7s 2.2s 1 ease, eye-blink 4s 4.4s infinite linear;
  animation-fill-mode: forwards;
  -webkit-animation:grow 0.7s 2.2s 1 ease, eye-blink 4s 4.4s infinite linear;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: bottom;
  transform-origin: bottom;

}
.eye-two{overflow:hidden;
  width: 40px;
  height: 20px;
  border-radius: 100%;
  background: white;
  position: relative;
  top: -18px;
  padding:1px;

  animation:grow 0.7s 2.2s 1 ease, eye-blink 4s 4.4s infinite linear;
  animation-fill-mode: forwards;
  -webkit-animation:grow 0.7s 2.2s 1 ease, eye-blink 4s 4.4s infinite linear;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: bottom;
  transform-origin: bottom;

}
.iris{
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: skyblue;
  border:1px solid rgba(0,0,0,.2);
}
.shadow-wrapper{
  width: 98px;
  height: 260px;
  position: absolute;
  left: -20px;
  bottom: -84px;
  overflow: hidden;
}
.shadow{
  width: 98px;
  height: 190px;
  border-radius: 20%;
  background: rgba(149,36,0,0.05);
  position: absolute;
  z-index: 4;
  opacity: 0;
  animation:shadow-anim 1s 2.8s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:shadow-anim 1s 2.8s 1 ease;
  -webkit-animation-fill-mode: forwards;
}
.triangle-light{
  width: 400px;
  height: 600px;
  background: #FFFFFF;
  opacity: 0.2;
  position: absolute;
  right: -65%;
  animation: triangle-light-anim 1s 2.8s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation: triangle-light-anim 1s 2.8s 1 ease;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: translate(200px,0px);
  transform: translate(200px,0px);
}
.triangle-dark{
  width: 400px;
  height: 600px;
  background: #000000;
  opacity: 0.2;
  position: absolute;
  left: -60%;
  z-index:-1;
  top: 30%;
  animation: triangle-dark-anim 1s 3s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation: triangle-dark-anim 1s 3s 1 ease;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: translate(-200px,0px);
  transform: translate(-200px,0px);
}
.music-note{
  position: absolute;
  font-size: 150px;
  color: #FCB040;
  width: 1px;
  left: 50%;
  opacity: 0;
}
.music-note#one{
  margin-left: -250px;
  top: 50%;
  animation: note-anim 2s 3.5s infinite ease;
  animation-fill-mode: forwards;
  -webkit-animation: note-anim 2s 3.5s infinite ease;
  -webkit-animation-fill-mode: forwards;
}
.music-note#two{
  margin-left: 150px;
  top: 30%;
  animation: note-anim 2s 4.3s infinite ease;
  animation-fill-mode: forwards;
  -webkit-animation: note-anim 2s 4.3s infinite ease;
  -webkit-animation-fill-mode: forwards;
}
.shirt-text{
  z-index:3;
  font-family: ‘Helvetica Neue‘, sans-serif;
  font-weight: 100;
  color: white;
  position: relative;
  top: -300px;
  font-size:20px;
  display: inline-block;
  -webkit-text-stroke: 2px;
  -webkit-transform: translate(0px,100px);
  transform: translate(0px,100px);
  animation-fill-mode: forwards !important;
  -webkit-animation-fill-mode: forwards !important;
}
.shirt-text:nth-of-type(1){
  animation: text-anim 0.7s 3s 1 ease;
  -webkit-animation: text-anim 0.7s 3s 1 ease;
}
.shirt-text:nth-of-type(2){
  animation: text-anim 0.7s 3.1s 1 ease;
  -webkit-animation: text-anim 0.7s 3.1s 1 ease;
}
.shirt-text:nth-of-type(3){
    color: red;

  animation: text-anim 0.7s 3.2s 1 ease;
  -webkit-animation: text-anim 0.7s 3.2s 1 ease;
}
.shirt-text:nth-of-type(4){
  animation: text-anim 0.7s 3.3s 1 ease;
  -webkit-animation: text-anim 0.7s 3.3s 1 ease;
}
.shirt-text:nth-of-type(5){
  animation: text-anim 0.7s 3.4s 1 ease;
  -webkit-animation: text-anim 0.7s 3.4s 1 ease;
}
.shirt-text:nth-of-type(6){
  animation: text-anim 0.7s 3.4s 1 ease;
  -webkit-animation: text-anim 0.7s 3.4s 1 ease;
}
.shirt-text:nth-of-type(7){
  animation: text-anim 0.7s 3.4s 1 ease;
  -webkit-animation: text-anim 0.7s 3.4s 1 ease;
}
.shirt-text:nth-of-type(8){
  animation: text-anim 0.7s 3.4s 1 ease;
  -webkit-animation: text-anim 0.7s 3.4s 1 ease;
}

.arms{
  position:relative;
    width:200px;
        height:50px;
  z-index:0;
margin: 0 auto;
  border-radius:20%;
  background: #ff5200;
  top: -200px;
  animation:body-enter 0.7s 0.2s 1 ease;
  animation-fill-mode: forwards;
  -webkit-animation:body-enter 0.7s 0.2s 1 ease;
  -webkit-animation-fill-mode: forwards;

}
@keyframes grow
{
0% {
  -webkit-transform: scale(0) translateZ(0);
  transform: scale(0) translateZ(0);
}
60% {
  -webkit-transform: scale(1.15) translateZ(0);
  transform: scale(1.15) translateZ(0);
}
80% {
  -webkit-transform: scale(0.95) translateZ(0);
  transform: scale(0.95) translateZ(0);
}
100% {
  -webkit-transform: scale(1) translateZ(0);
  transform: scale(1) translateZ(0);
}
}

@-webkit-keyframes grow /* Safari and Chrome */
{
0% {
  -webkit-transform: scale(0) translateZ(0);
  transform: scale(0) translateZ(0);
}
60% {
  -webkit-transform: scale(1.15) translateZ(0);
  transform: scale(1.15) translateZ(0);
}
80% {
  -webkit-transform: scale(0.95) translateZ(0);
  transform: scale(0.95) translateZ(0);
}
100% {
  -webkit-transform: scale(1) translateZ(0);
  transform: scale(1) translateZ(0);
}
}

@keyframes body-enter
{
0% {
  -webkit-transform: translateY(200px) translateZ(0);
  transform: translateY(200px) translateZ(0);
}
60% {
  -webkit-transform: translateY(-20px) translateZ(0);
  transform: translateY(-20px) translateZ(0);
}
80% {
  -webkit-transform: translateY(30px) translateZ(0);
  transform: translateY(30px) translateZ(0);
}
100% {
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}

@-webkit-keyframes body-enter /* Safari and Chrome */
{
0% {
  -webkit-transform: translateY(200px) translateZ(0);
  transform: translateY(200px) translateZ(0);
}
60% {
  -webkit-transform: translateY(-20px) translateZ(0);
  transform: translateY(-20px) translateZ(0);
}
80% {
  -webkit-transform: translateY(30px) translateZ(0);
  transform: translateY(30px) translateZ(0);
}
100% {
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}
@keyframes hairback-anim
{
0% {
  height:0px;
  -webkit-transform: translateY(137px) translateZ(0);
  transform: translateY(137px) translateZ(0);
    z-index:0;
}
100% {
  height: 237px;
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
  z-index:0;
}
}

@-webkit-keyframes hairback-anim /* Safari and Chrome */
{
0% {
  height:0px;
  -webkit-transform: translateY(137px) translateZ(0);
  transform: translateY(137px) translateZ(0);
}
100% {
  height: 237px;
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}
@keyframes hair-anim
{
0% {
  height:0px;
  -webkit-transform: translateY(137px) translateZ(0);
  transform: translateY(137px) translateZ(0);
}
100% {
  height: 137px;
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}

@-webkit-keyframes hair-anim /* Safari and Chrome */
{
0% {
  height:0px;
  -webkit-transform: translateY(137px) translateZ(0);
  transform: translateY(137px) translateZ(0);
}
100% {
  height: 137px;
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}

@keyframes sideburn-anim
{
0% {
  opacity: 0;
  -webkit-transform: translateY(-25px) translateZ(0);
  transform: translateY(-25px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}

@-webkit-keyframes sideburn-anim /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform: translateY(-25px) translateZ(0);
  transform: translateY(-25px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: translateY(0px) translateZ(0);
  transform: translateY(0px) translateZ(0);
}
}

@keyframes hair-top-anim
{
0% {
  opacity: 0;
  -webkit-transform:translate(-64px, 30px) translateZ(0);
  transform:translate(-64px, 30px) translateZ(0);
}
60% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-64px, 30px) translateZ(0);
  transform: rotate(0deg) translate(-64px, 30px) translateZ(0);
}
80% {
  opacity: 1;
  -webkit-transform: rotate(10deg) translate(-64px, -5px) translateZ(0);
  transform: rotate(10deg) translate(-64px, -5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-64px, 0px) translateZ(0);
  transform: rotate(0deg) translate(-64px, 0px) translateZ(0);
}
}

@-webkit-keyframes hair-top-anim /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform:translate(-64px, 30px) translateZ(0);
  transform:translate(-64px, 30px) translateZ(0);
}
60% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-64px, 30px) translateZ(0);
  transform: rotate(0deg) translate(-64px, 30px) translateZ(0);
}
80% {
  opacity: 1;
  -webkit-transform: rotate(10deg) translate(-64px, -5px) translateZ(0);
  transform: rotate(10deg) translate(-64px, -5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-64px, 0px) translateZ(0);
  transform: rotate(0deg) translate(-64px, 0px) translateZ(0);
}
}

@keyframes hair-bottom-anim
{
0% {
  opacity: 0;
  -webkit-transform:translate(-27px, -40px) translateZ(0);
  transform:translate(-27px, -40px) translateZ(0);
}
60% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-27px, -40px) translateZ(0);
  transform: rotate(0deg) translate(-27px, -40px) translateZ(0);
}
80% {
  opacity: 1;
  -webkit-transform: rotate(10deg) translate(-27px, 5px) translateZ(0);
  transform: rotate(10deg) translate(-27px, 5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-27px, 0px) translateZ(0);
  transform: rotate(0deg) translate(-27px, 0px) translateZ(0);
}
}

@-webkit-keyframes hair-bottom-anim /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform:translate(-27px, -40px) translateZ(0);
  transform:translate(-27px, -40px) translateZ(0);
}
60% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-27px, -40px) translateZ(0);
  transform: rotate(0deg) translate(-27px, -40px) translateZ(0);
}
80% {
  opacity: 1;
  -webkit-transform: rotate(10deg) translate(-27px, 5px) translateZ(0);
  transform: rotate(10deg) translate(-27px, 5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: rotate(0deg) translate(-27px, 0px) translateZ(0);
  transform: rotate(0deg) translate(-27px, 0px) translateZ(0);
}
}

@keyframes music-move
{
0% {
  -webkit-transform: rotate(0deg) translateZ(0);
  transform: rotate(0deg) translateZ(0);
}
33% {
  -webkit-transform: rotate(-5deg) translateZ(0);
  transform: rotate(-5deg) translateZ(0);
}
66% {
  -webkit-transform: rotate(5deg) translateZ(0);
  transform: rotate(5deg) translateZ(0);
}
100% {
  -webkit-transform: rotate(0deg) translateZ(0);
  transform: rotate(0deg) translateZ(0);
}
}

@-webkit-keyframes music-move /* Safari and Chrome */
{
0% {
  -webkit-transform: rotate(0deg) translateZ(0);
  transform: rotate(0deg) translateZ(0);
}
33% {
  -webkit-transform: rotate(-5deg) translateZ(0);
  transform: rotate(-5deg) translateZ(0);
}
66% {
  -webkit-transform: rotate(5deg) translateZ(0);
  transform: rotate(5deg) translateZ(0);
}
100% {
  -webkit-transform: rotate(0deg) translateZ(0);
  transform: rotate(0deg) translateZ(0);
}
}

@keyframes eyebrow-anim-right
{
0% {
  opacity: 0;
  -webkit-transform: translateY(-25px) translateZ(0);
  transform: translateY(-25px) translateZ(0);
}
70% {
  opacity: 1;
  -webkit-transform: translateY(5px) translateZ(0);
  transform: translateY(5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: rotate(9deg) translateY(0px) translateZ(0);
  transform: rotate(9deg) translateY(0px) translateZ(0);
}
}

@-webkit-keyframes eyebrow-anim-right /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform: translateY(-25px) translateZ(0);
  transform: translateY(-25px) translateZ(0);
}
70% {
  opacity: 1;
  -webkit-transform: translateY(5px) translateZ(0);
  transform: translateY(5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform: rotate(9deg) translateY(0px) translateZ(0);
  transform: rotate(9deg) translateY(0px) translateZ(0);
}
}
@keyframes eyebrow-raise
{
0% {
  top:-35px;
}
80% {
  top:-35px;

}
100% {
  top:-45px;
}
}

@-webkit-keyframes eyebrow-raise /* Safari and Chrome */
{
0% {
  top:-35px;
}
80% {
  top:-35px;

}
100% {
  top:-45px;
}
}
@keyframes eyebrow-anim-left
{
0% {
  opacity: 0;
  -webkit-transform: translateY(-25px) translateZ(0);
  transform: translateY(-25px) translateZ(0);
}
70% {
  opacity: 1;
  -webkit-transform: translateY(5px) translateZ(0);
  transform: translateY(5px);
}
100% {
  opacity: 1;
  -webkit-transform:translateY(0px) translateZ(0);
  transform:translateY(0px) translateZ(0);
}
}

@-webkit-keyframes eyebrow-anim-left /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform: translateY(-25px) translateZ(0);
  transform: translateY(-25px) translateZ(0);
}
70% {
  opacity: 1;
  -webkit-transform: translateY(5px) translateZ(0);
  transform: translateY(5px) translateZ(0);
}
100% {
  opacity: 1;
  -webkit-transform:translateY(0px) translateZ(0);
  transform:translateY(0px) translateZ(0);
}
}

@keyframes border-pulse
{
0% {
  -webkit-transform: scale(0) translateZ(0);
  transform: scale(0) translateZ(0);
  border-width: 20px;
}
40% {
  -webkit-transform: scale(1) translateZ(0);
  transform: scale(1) translateZ(0);
  border-width: 20px;
  margin-left: -220px;
  margin-top: -220px;
}
100% {
  -webkit-transform: scale(1.5) translateZ(0);
  transform: scale(1.5) translateZ(0);
  border-width: 0px;
  border-style: double;
  margin-left: -200px;
  margin-top: -200px;
}
}

@-webkit-keyframes border-pulse /* Safari and Chrome */
{
0% {
  -webkit-transform: scale(0) translateZ(0);
  transform: scale(0) translateZ(0);
  border-width: 20px;
}
40% {
  -webkit-transform: scale(1) translateZ(0);
  transform: scale(1) translateZ(0);
  border-width: 20px;
  margin-left: -220px;
  margin-top: -220px;
}
100% {
  -webkit-transform: scale(1.5) translateZ(0);
  transform: scale(1.5) translateZ(0);
  border-width: 0px;
  border-style: double;
  margin-left: -200px;
  margin-top: -200px;
}
}
@keyframes shadow-anim
{
0% {
  opacity: 0;
  -webkit-transform: translate(98px,0px) translateZ(0);
  transform: translate(98px,0px) translateZ(0);
}
50% {
  opacity: 0;
}
100% {
  opacity: 1;
  -webkit-transform: translate(0px,0px) translateZ(0);
  transform: translate(0px,0px) translateZ(0);
}
}

@-webkit-keyframes shadow-anim /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform: translate(98px,0px) translateZ(0);
  transform: translate(98px,0px) translateZ(0);
}
50% {
  opacity: 0;
}
100% {
  opacity: 1;
  -webkit-transform: translate(0px,0px) translateZ(0);
  transform: translate(0px,0px) translateZ(0);
}
}
@keyframes triangle-light-anim
{
0% {
  -webkit-transform: translate(200px,0px) translateZ(0);
  transform: translate(200px,0px) translateZ(0);
}
100% {
  -webkit-transform: rotate(45deg) translate(0px,0px) translateZ(0);
  transform: rotate(45deg) translate(0px,0px) translateZ(0);
}
}

@-webkit-keyframes triangle-light-anim /* Safari and Chrome */
{
0% {
  -webkit-transform: translate(200px,0px) translateZ(0);
  transform: translate(200px,0px) translateZ(0);
}
100% {
  -webkit-transform: rotate(45deg) translate(0px,0px) translateZ(0);
  transform: rotate(45deg) translate(0px,0px) translateZ(0);
}
}
@keyframes triangle-dark-anim
{
0% {
  -webkit-transform: translate(-200px,0px) translateZ(0);
  transform: translate(-200px,0px) translateZ(0);
}
100% {
  -webkit-transform: rotate(-45deg) translate(0px,0px) translateZ(0);
  transform: rotate(-45deg) translate(0px,0px) translateZ(0);
}
}

@-webkit-keyframes triangle-dark-anim /* Safari and Chrome */
{
0% {
  -webkit-transform: translate(-200px,0px) translateZ(0);
  transform: translate(-200px,0px) translateZ(0);
}
100% {
  -webkit-transform: rotate(-45deg) translate(0px,0px) translateZ(0);
  transform: rotate(-45deg) translate(0px,0px) translateZ(0);
}
}
@keyframes note-anim
{
0% {
  opacity: 0;
  -webkit-transform: translate(0px,50px) translateZ(0);
  transform: translate(0px,50px) translateZ(0);
}
30% {
  -webkit-transform:rotate(12deg) translate(-30px,0px) translateZ(0);
  transform:rotate(12deg) translate(-30px,0px) translateZ(0);
}
45% {
  opacity: 1;
}
60% {
  -webkit-transform:rotate(-12deg) translate(30px,-100px) translateZ(0);
  transform:rotate(-12deg) translate(30px,-100px) translateZ(0);
}
100% {
  opacity: 0;
  -webkit-transform:rotate(0deg) translate(0px,-200px) translateZ(0);
  transform:rotate(0deg) translate(0px,-200px) translateZ(0);
}
}

@-webkit-keyframes note-anim /* Safari and Chrome */
{
0% {
  opacity: 0;
  -webkit-transform: translate(0px,50px) translateZ(0);
  transform: translate(0px,50px) translateZ(0);
}
30% {
  -webkit-transform:rotate(12deg) translate(-30px,0px) translateZ(0);
  transform:rotate(12deg) translate(-30px,0px) translateZ(0);
}
45% {
  opacity: 1;
}
60% {
  -webkit-transform:rotate(-12deg) translate(30px,-100px) translateZ(0);
  transform:rotate(-12deg) translate(30px,-100px) translateZ(0);
}
100% {
  opacity: 0;
  -webkit-transform:rotate(0deg) translate(0px,-200px) translateZ(0);
  transform:rotate(0deg) translate(0px,-200px) translateZ(0);
}
}
@keyframes text-anim
{
0% {
  -webkit-transform: translate(0px,100px) translateZ(0);
  transform: translate(0px,100px) translateZ(0);
}
60% {
  -webkit-transform:translate(0px,-20px) translateZ(0);
  transform:translate(0px,-20px) translateZ(0);
}
80% {
  -webkit-transform:translate(0px,15px) translateZ(0);
  transform:translate(0px,15px) translateZ(0);
}
100% {
  -webkit-transform:translate(0px,0px) translateZ(0);
  transform:translate(0px,0px) translateZ(0);
}
}

@-webkit-keyframes text-anim /* Safari and Chrome */
{
0% {
  -webkit-transform: translate(0px,100px) translateZ(0);
  transform: translate(0px,100px) translateZ(0);
}
60% {
  -webkit-transform:translate(0px,-20px) translateZ(0);
  transform:translate(0px,-20px) translateZ(0);
}
80% {
  -webkit-transform:translate(0px,15px) translateZ(0);
  transform:translate(0px,15px) translateZ(0);
}
100% {
  -webkit-transform:translate(0px,0px) translateZ(0);
  transform:translate(0px,0px) translateZ(0);
}
}
@keyframes eye-blink
{
0% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
45% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
50% {
  -webkit-transform: scaleY(0.1) translateZ(0);
  transform: scaleY(0.1) translateZ(0);
}
55% {
  -webkit-transform: scaleY(1) translateY(0px);
  transform: scaleY(1) translateY(0px);
}
100% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
}

@-webkit-keyframes eye-blink /* Safari and Chrome */
{
0% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
45% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
50% {
  -webkit-transform: scaleY(0.1) translateZ(0);
  transform: scaleY(0.1) translateZ(0);
}
55% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
100% {
  -webkit-transform: scaleY(1) translateY(0px) translateZ(0);
  transform: scaleY(1) translateY(0px) translateZ(0);
}
}

js代码:

 var mouseX = 0, mouseY = 0;
    $(document).mousemove(function (e) {
        mouseX = e.pageX;
        mouseY = e.pageY;
    });

    var follower = $(".iris");
    var xp = 0, yp = 0;
    var loop = setInterval(function () {
        xp += (mouseX - xp);
        yp += (mouseY - yp);
        follower.css({ "margin-left": (xp / 60), "margin-top": (yp / 90) });

    }, 30);

本文爱编程原创文章,转载请注明原文地址:http://www.w2bc.com/Article/12449

时间: 2024-10-16 11:15:59

一款jquery和css3实现的卡通人物动画特效的相关文章

分享10款基于jquery和css3的web前端的动画特效

1.响应式圆形动画导航菜单 响应式的移动导航栏,现在我发现了一个新的技术(有关HTML5)可以在没有使用Javascript的情况下做一个响应式菜单.这个菜单可以自动排列到左边.中间或者右边).不像之前的教程需要点击某"开关"来显示或隐藏菜单,现在只需要把鼠标移到菜单按钮就会出现菜单列表(而且会提示当前所在的导航位置). 在线演示 源码下载 2.Canvas 示例:4种超炫的网站动画背景效果 今天,我们想分享一些动画背景的灵感.全屏背景图片的网站头部是最新的网页设计趋势,已经持续了一段

分享9款用HTML5/CSS3制作的动物人物动画

1.纯CSS3绘制可爱的蚱蜢 还有眨眼动画 今天我们要分享一个利用纯CSS3绘制的蚱蜢动画,非常可爱. 在线演示 源码下载 2.HTML5 Canvas头发飘逸动画 很酷的HTML5动画 HTML5 Canvas动画非常炫酷,很多有创意的开发者可以利用HTML5的Canvas特性创造出很多不错的动画特效.今天我们要分享一款HTML5 Canvas头发飘逸动画,该动画模拟头发飘动的效果,加上可爱的人脸,可以说非常有技术含量,更富有创意. 在线演示 源码下载 3.HTML5/SVG实现随风摇摆的动画

基于jQ+CSS3页面滚动内容元素动画特效

今天给大家分享一款基于jQ+CSS3页面滚动内容元素动画特效.这是一款基于jQuery+CSS3实现的页面滚动代码.该实例适用于适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器. 在线预览   源码下载 实现的代码. html代码: <div class="htmleaf-container"> <div class="container"> <h2 class

jQuery和CSS3全屏垂直翻页特效插件

FSVS(Full Screen Vertical Scroller)是一款jQuery和CSS3带过渡效果的全屏垂直翻页特效插件.该全屏翻页插件在页面上下滚动时一次翻一屏,并带有CSS3过渡动画效果. 该jquery翻页插件的效果和OnePageScroll.js类似,但使用上要简单得多. 在线演示:http://www.htmleaf.com/Demo/201503021447.html 下载地址:http://www.htmleaf.com/jQuery/Layout-Interface/

jQuery和CSS3炫酷按钮点击波特效

这是一款效果非常炫酷的jQuery和CSS3炫酷按钮点击波特效.该特效当用户在菜单按钮上点击的时候,从鼠标点击的点开始,会有一道光波以改点为原点向外辐射的动画效果,非常绚丽. 在线演示:http://www.htmleaf.com/Demo/201503151527.html 下载地址:http://www.htmleaf.com/jQuery/Buttons-Icons/201503151526.html

jQuery和CSS3全屏带过渡动画效果的模态窗口插件

animatedModal.js是一款效果非常炫酷的jQuery和CSS3全屏带过渡动画的模态窗口特效插件.该模态窗口插件和animate.css完美结合,你可以使用animate.css中的任何动画效果来制作该模态窗口的过渡动画效果. 在线演示:http://www.htmleaf.com/Demo/201503031453.html 下载地址:http://www.htmleaf.com/jQuery/Lightbox-Dialog/201503031452.html

3种炫酷CSS3复选框checkbox动画特效

这是一款效果非常炫酷的CSS3复选框checkbox动画特效.这组复选框动画特效共3种效果,它们都是在原生checkbox元素的基础上进行了美化,在用户点击复选框的时候制作出非常酷的动画效果. 在线预览   源码下载 使用方法 HTML结构 普通的HTML checkbox复选框控件的样式非常的平淡.在现代网页设计中,我们可以通过CSS3来为它设置更加漂亮的外观和动画特效.通过CSS的@keyframe属性,我们就可以制作出各种神奇的复选框动画特效. 在这些复选框动画的DEMO中,使用的都是无序

jQuery炫酷插入和移动元素动画特效插件

Magic Move是一款效果非常棒的jQuery炫酷插入和移动元素动画特效插件.这款插件可以以非常平滑的方式在指定元素之前插入其它元素,并且当最右边的元素超出容器时会自动下移插入到下一行的第一个位置. 在线演示:http://www.htmleaf.com/Demo/201503061473.html 下载地址:http://www.htmleaf.com/jQuery/Layout-Interface/201503061472.html

css3实现的4种动画特效按钮

今天要给大家介绍的是css3按钮,里面包含四种特效的动画,如下图: 在线预览    下载源码 实现html代码: <div align="center" class="fond"> <br /> <div class="bouton_1"> <a href="#123"> <img src="caddie.png" /> <span clas