search
HomeWeb Front-endHTML TutorialCSS3 keyframes animation achieves bouncing effect_html/css_WEB-ITnose

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);    });});

                                           🎜 > 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;  }}

Only IE9 supports

See the table for details

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

Statement
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
Are the HTML tags and elements the same thing?Are the HTML tags and elements the same thing?Apr 28, 2025 pm 05:44 PM

The article explains that HTML tags are syntax markers used to define elements, while elements are complete units including tags and content. They work together to structure webpages.Character count: 159

What is the significance of <head> and <body> tag in HTML?What is the significance of <head> and <body> tag in HTML?Apr 28, 2025 pm 05:43 PM

The article discusses the roles of <head> and <body> tags in HTML, their impact on user experience, and SEO implications. Proper structuring enhances website functionality and search engine optimization.

What is the difference between <strong>, <b> tags and <em>, <i> tags?What is the difference between <strong>, <b> tags and <em>, <i> tags?Apr 28, 2025 pm 05:42 PM

The article discusses the differences between HTML tags , , , and , focusing on their semantic vs. presentational uses and their impact on SEO and accessibility.

Please explain how to indicate the character set being used by a document in HTML?Please explain how to indicate the character set being used by a document in HTML?Apr 28, 2025 pm 05:41 PM

Article discusses specifying character encoding in HTML, focusing on UTF-8. Main issue: ensuring correct display of text, preventing garbled characters, and enhancing SEO and accessibility.

What are the various formatting tags in HTML?What are the various formatting tags in HTML?Apr 28, 2025 pm 05:39 PM

The article discusses various HTML formatting tags used for structuring and styling web content, emphasizing their effects on text appearance and the importance of semantic tags for accessibility and SEO.

What is the difference between the 'id' attribute and the 'class' attribute of HTML elements?What is the difference between the 'id' attribute and the 'class' attribute of HTML elements?Apr 28, 2025 pm 05:39 PM

The article discusses the differences between HTML's 'id' and 'class' attributes, focusing on their uniqueness, purpose, CSS syntax, and specificity. It explains how their use impacts webpage styling and functionality, and provides best practices for

What is the 'class' attribute in HTML?What is the 'class' attribute in HTML?Apr 28, 2025 pm 05:37 PM

The article explains the HTML 'class' attribute's role in grouping elements for styling and JavaScript manipulation, contrasting it with the unique 'id' attribute.

What are different types of lists in HTML?What are different types of lists in HTML?Apr 28, 2025 pm 05:36 PM

Article discusses HTML list types: ordered (<ol>), unordered (<ul>), and description (<dl>). Focuses on creating and styling lists to enhance website design.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!