日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

CSS3 keyframes动画实现弹跳效果

發(fā)布時(shí)間:2025/7/14 CSS 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS3 keyframes动画实现弹跳效果 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先,“回到頂部”、“用戶反饋”這兩個(gè)按鈕是通過定位放在左下角上。

(1)“回到頂部”的按鈕只有當(dāng)滾動(dòng)條有出現(xiàn)下滑時(shí)才出現(xiàn)

(2)“用戶反饋”按鈕,用戶剛打開時(shí)會(huì)抖動(dòng)一下,引起用戶的注意,然后才定住。

我的實(shí)現(xiàn)做法

首先,這兩個(gè)按鈕我都使用定位的方式定位在右下角適合的位置上。然后,

一、"回到頂部"

1、因?yàn)槿绻覀儧]有滾動(dòng)鼠標(biāo),“按鈕”沒有出現(xiàn),所以,我首先是把按鈕隱藏起來的display:none,然后再通過js計(jì)算滾動(dòng)后的高度

滾動(dòng)后高度計(jì)算:scrollt = document.,documentElement.scrollTop+document.body.scrollTop

可視區(qū)高度:winH=$(window).height()

2、然后這兩個(gè)高度做比較,如果是大于,說明已經(jīng)滾動(dòng)了,“回到頂部”的按鈕可以顯示出來display:block

3、注意:

(1)主要窗口滾動(dòng),就觸發(fā)代碼$(window).scroll(fucntion(){})

?(2)兼容IE和chrome瀏覽器

document.documentElement.scrollTop+document.body.scrollTop

                        chrome(這個(gè)body獲取的IE/FF得到的值為0)

代碼:

//首頁回到頂部和反饋入口 $(function(){$(window).scroll(function(){ //只要窗口滾動(dòng),就觸發(fā)下面代碼 var scrollt = document.documentElement.scrollTop + document.body.scrollTop; //獲取滾動(dòng)后的高度 document.body.scrollTop用來兼容chrome//console.log('滾動(dòng)條的高度scrollTop1-'+scrollTop1+'-scrollTop2-'+scrollTop2);var winH = $(window).height(); // 獲取可視區(qū)高度console.log('滾動(dòng)后高度為'+'---'+scrollt);if( scrollt+winH >winH ){ //判斷滾動(dòng)后高度超過0px,就顯示 $("#gotop").fadeIn(400); //淡出 }else{ $("#gotop").stop().fadeOut(400); //如果返回或者沒有超過,就淡入.必須加上stop()停止之前動(dòng)畫,否則會(huì)出現(xiàn)閃動(dòng) }});$("#gotop").click(function(){ //當(dāng)點(diǎn)擊標(biāo)簽的時(shí)候,使用animate在200毫秒的時(shí)間內(nèi),滾到頂部$("html,body").animate({scrollTop:"0px"},200);}); });

?

?

?

? ? ? ? ? ? ? ? ? ? ? ? ?

?

?二、“用戶反饋”抖動(dòng)

1、這個(gè)抖動(dòng)的動(dòng)畫效果是使用css3動(dòng)畫做的、

代碼如下:

/* 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;} }

?

2、注意:

IE9+才支持

詳細(xì)見表

?

查看效果:http://www.ingdan.com/

總結(jié)

以上是生活随笔為你收集整理的CSS3 keyframes动画实现弹跳效果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。