Home > Web Front-end > HTML Tutorial > CSS3 keyframes animation achieves bouncing effect_html/css_WEB-ITnose

CSS3 keyframes animation achieves bouncing effect_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:47:58
Original
1833 people have browsed it

First of all, the two buttons "Back to Top" and "User Feedback" are positioned in the lower left corner.

(1) The "Back to Top" button only appears when the scroll bar slides down

(2) The "User Feedback" button will shake when the user first opens it Once, grab the user's attention, and then stop.

My implementation method

First of all, I use positioning to position these two buttons at a suitable location in the lower right corner. Then,

1. "Back to top"

1. Because if we don't scroll the mouse, the "button" does not appear, so I first hide the button Display: none, and then calculate the height after scrolling through js

Calculation of height after scrolling: scrollt = document., documentElement.scrollTop document.body.scrollTop

Visual area height: winH=$(window).height()

2. Then compare the two heights. If it is greater than that, it means it has been scrolled, and the "Back to Top" button can be displayed display:block

3. Note:

(1) When the main window scrolls, the code $(window).scroll(fucntion(){})

(2) Compatible with IE and chrome Browser

document.documentElement.scrollTop document.body.scrollTop

                                                    Generation you in you in in in on in in chrome (the value obtained by IE/FF for this body can be 0)

Code:

//首页回到顶部和反馈入口$(function(){    $(window).scroll(function(){                             //只要窗口滚动,就触发下面代码         var scrollt = document.documentElement.scrollTop + document.body.scrollTop; //获取滚动后的高度  document.body.scrollTop用来兼容chrome//console.log('滚动条的高度scrollTop1-'+scrollTop1+'-scrollTop2-'+scrollTop2);        var winH = $(window).height();                       // 获取可视区高度        console.log('滚动后高度为'+'---'+scrollt);                if( scrollt+winH >winH ){                                 //判断滚动后高度超过0px,就显示              $("#gotop").fadeIn(400);                         //淡出             }else{                  $("#gotop").stop().fadeOut(400);                 //如果返回或者没有超过,就淡入.必须加上stop()停止之前动画,否则会出现闪动           }    });    $("#gotop").click(function(){                            //当点击标签的时候,使用animate在200毫秒的时间内,滚到顶部            $("html,body").animate({scrollTop:"0px"},200);    });});
Copy after login

                                           🎜 > 2. "User feedback" jitter

1. This jitter animation effect is made using css3 animation.

The code is as follows:

2. Note:

/* feedback的弹跳效果 */.css3-notification {    -webkit-animation: bounce 1800ms ease-out;    -moz-animation: bounce 1800ms ease-out;    -o-animation: bounce 1800ms ease-out;    animation: bounce 1800ms ease-out;}/* Webkit, Chrome and Safari */@-webkit-keyframes bounce {  0% {    -webkit-transform:translateY(-100%);    opacity: 0;  }  5% {      -webkit-transform:translateY(-100%);    opacity: 0;  }  15% {      -webkit-transform:translateY(0);    padding-bottom: 5px;  }  30% {      -webkit-transform:translateY(-50%);  }  40% {      -webkit-transform:translateY(0%);    padding-bottom: 6px;  }  50% {      -webkit-transform:translateY(-30%);  }  70% {      -webkit-transform:translateY(0%);    padding-bottom: 7px;  }  80% {      -webkit-transform:translateY(-15%);  }  90% {      -webkit-transform:translateY(0%);      padding-bottom: 8px;  }  95% {      -webkit-transform:translateY(-10%);  }  97% {      -webkit-transform:translateY(0%);      padding-bottom: 9px;  }  99% {      -webkit-transform:translateY(-5%);  }  100% {      -webkit-transform:translateY(0);      padding-bottom: 9px;    opacity: 1;  }}/* Mozilla Firefox 15 below */@-moz-keyframes bounce {  0% {    -moz-transform:translateY(-100%);    opacity: 0;  }  5% {      -moz-transform:translateY(-100%);    opacity: 0;  }  15% {      -moz-transform:translateY(0);    padding-bottom: 5px;  }  30% {      -moz-transform:translateY(-50%);  }  40% {      -moz-transform:translateY(0%);    padding-bottom: 6px;  }  50% {      -moz-transform:translateY(-30%);  }  70% {      -moz-transform:translateY(0%);    padding-bottom: 7px;  }  80% {      -moz-transform:translateY(-15%);  }  90% {      -moz-transform:translateY(0%);      padding-bottom: 8px;  }  95% {      -moz-transform:translateY(-10%);  }  97% {      -moz-transform:translateY(0%);      padding-bottom: 9px;  }  99% {      -moz-transform:translateY(-5%);  }  100% {      -moz-transform:translateY(0);      padding-bottom: 9px;    opacity: 1;  }}/* Opera 12.0 */@-o-keyframes bounce {  0% {    -o-transform:translateY(-100%);    opacity: 0;  }  5% {      -o-transform:translateY(-100%);    opacity: 0;  }  15% {      -o-transform:translateY(0);    padding-bottom: 5px;  }  30% {      -o-transform:translateY(-50%);  }  40% {      -o-transform:translateY(0%);    padding-bottom: 6px;  }  50% {      -o-transform:translateY(-30%);  }  70% {      -o-transform:translateY(0%);    padding-bottom: 7px;  }  80% {      -o-transform:translateY(-15%);  }  90% {      -o-transform:translateY(0%);      padding-bottom: 8px;  }  95% {      -o-transform:translateY(-10%);  }  97% {      -o-transform:translateY(0%);      padding-bottom: 9px;  }  99% {      -o-transform:translateY(-5%);  }  100% {      -o-transform:translateY(0);      padding-bottom: 9px;    opacity: 1;  }}/* W3, Opera 12+, Firefox 16+ */@keyframes bounce {  0% {    transform:translateY(-100%);    opacity: 0;  }  5% {      transform:translateY(-100%);    opacity: 0;  }  15% {      transform:translateY(0);    padding-bottom: 5px;  }  30% {      transform:translateY(-50%);  }  40% {      transform:translateY(0%);    padding-bottom: 6px;  }  50% {      transform:translateY(-30%);  }  70% {      transform:translateY(0%);    padding-bottom: 7px;  }  80% {      transform:translateY(-15%);  }  90% {      transform:translateY(0%);      padding-bottom: 8px;  }  95% {      transform:translateY(-7%);  }  97% {      transform:translateY(0%);      padding-bottom: 9px;  }  99% {      transform:translateY(-3%);  }  100% {      transform:translateY(0);      padding-bottom: 9px;    opacity: 1;  }}
Copy after login

Only IE9 supports

See the table for details

View the effect: http: //www.ingdan.com/

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template