av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

js實(shí)現(xiàn)帶有動(dòng)畫的返回頂部

瀏覽:130日期:2024-04-26 08:57:35

本文實(shí)例為大家分享了js實(shí)現(xiàn)帶有動(dòng)畫返回頂部的具體代碼,供大家參考,具體內(nèi)容如下

1、滑動(dòng)鼠標(biāo)往下滑動(dòng),側(cè)邊欄跟著往上移動(dòng),當(dāng)?shù)竭_(dá)某一個(gè)位置的時(shí)候,側(cè)邊欄停止移動(dòng);鼠標(biāo)往上,則側(cè)邊欄往下-停止

js實(shí)現(xiàn)帶有動(dòng)畫的返回頂部

2、當(dāng)鼠標(biāo)繼續(xù)下滑到某一個(gè)位置,“返回頂部”幾個(gè)字會(huì)彈出此處如果點(diǎn)擊“返回頂部”,則立刻到了頂部

js實(shí)現(xiàn)帶有動(dòng)畫的返回頂部

3、到達(dá)頂部位置效果

js實(shí)現(xiàn)帶有動(dòng)畫的返回頂部

4、源代碼

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <style> * { margin: 0; padding: 0; } /* 版心 */ .w { width: 980px; margin: 0 auto; } /* 頭部樣式 */ .head { height: 200px; background-color: teal; } /* 內(nèi)容區(qū)域樣式 */ .banner { height: 450px; background-color: red } /* sidebar是側(cè)邊欄 */ .sidebar { position: absolute; top: 300px; right: 250px; display: inline-block; width: 40px; height: 80px; background-color: cyan; text-align: center; } /* 側(cè)邊欄 “返回頂部”字體 */ .sidebar span { display: none; font-size: 14px; cursor: pointer; } /* 主體div樣式 */ .zhuti { height: 300px; background-color: violet; } /* 底部樣式 */ .footer { height: 700px; background-color: yellow; } </style></head><body> <div class='sidebar'>廣告<br><br> <span id='returns'>返回頂部</span> </div> <div class='head w'>頭部區(qū)域</div> <div class='banner w'>banner區(qū)域</div> <div class='zhuti w'>主體區(qū)域</div> <div class='footer w'>尾部區(qū)域</div> <script> // Js代碼部分 var sidebar = document.querySelector(’.sidebar’) var banner = document.querySelector(’.banner’) var bannerTop = banner.offsetTop; // 獲取 主體 區(qū)域的事件源 var zhuti = document.querySelector(’.zhuti’); var span = document.querySelector(’span’); var zhutiTop = zhuti.offsetTop; // console.log(bannerTop) // 200 // banner.offestTop 就是被卷去頭部的大小 一定要寫到滾動(dòng)的外面 // 當(dāng)我們側(cè)邊欄固定定位之后應(yīng)該變化的數(shù)值 var sidebarTop = sidebar.offsetTop - bannerTop; document.addEventListener(’scroll’, function () { // console.log(window.pageYOffset) if (window.pageYOffset >= bannerTop) {sidebar.style.position = ’fixed’;sidebar.style.top = sidebarTop + ’px’; } else {sidebar.style.position = ’absolute’;sidebar.style.top = 300 + ’px’; } // 當(dāng)?shù)降字黝}區(qū)域的時(shí)候,顯示span的內(nèi)容 if (window.pageYOffset >= zhutiTop) {span.style.display = ’block’; } else {span.style.display = ’none’; } }) // 封裝了一個(gè)動(dòng)畫js文件 function animation(obj, target, fn1) { // console.log(fn1); // fn是一個(gè)回調(diào)函數(shù),在定時(shí)器結(jié)束的時(shí)候添加 // 每次開定時(shí)器之前先清除掉定時(shí)器 clearInterval(obj.timer); obj.timer = setInterval(function () {// 步長計(jì)算公式 越來越小// 步長取整var step = (target - obj.pageYOffset) / 10;step = step > 0 ? Math.ceil(step) : Math.floor(step);if (obj.pageYOffset == target) { clearInterval(obj.timer); // 如果fn1存在,調(diào)用fn if (fn1) { fn1(); }} else { // 每30毫秒就將新的值給obj.left window.scroll(0, obj.pageYOffset + step);} }, 30) } // 獲取返回頂部的事件 點(diǎn)擊觸發(fā) var returns = document.querySelector(’#returns’); returns.addEventListener(’click’, function () { // alert(111); // window.scroll(x,y) 可以返回頂部 // window.scroll(0,0); animation(window, 0) }) </script></body></html>

5、喜歡記得點(diǎn)擊,關(guān)注,收藏噢,不喜勿噴~

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 黄色一级片免费 | 日韩在线视频一区 | 国产精品99久久久久久久久 | 色多多在线观看 | 手机看片日韩 | 中文字幕1区 | 国产精品一区二区av | 特黄毛片 | 谁有毛片网站 | 成人性色生活片 | 亚洲一级黄色片 | 欧美日韩在线观看一区二区 | 九九热精品在线观看 | 免费精品视频 | 色综合久久天天综合网 | 欧美一区二区三区不卡 | 黄色成年人网站 | 日韩在线视频一区 | 久久精品欧美 | 美女一级片 | 日韩欧美视频 | 免费黄色av | 999毛片 | 国产精品久久久久久久久久久久午夜片 | 黄色录像一级片 | 色吧综合 | 欧洲精品一区二区 | 欧美成人一级 | 国产又黄又爽视频 | 怡红院av | 亚洲精品社区 | 欧美日韩三级 | av在线播放网站 | 国产成人精品久久久 | 欧美福利一区 | 国产激情网站 | av中文网| av免费网| 草草在线观看 | av在线播放免费 | 一区二区色 |