js實現淘寶固定側邊欄
本文實例為大傢分享瞭js實現淘寶固定側邊欄的具體代碼,供大傢參考,具體內容如下
1.實現效果:
當頁面運行到banner區域時,右邊側邊欄改為固定定位,當頁面運行到主體區域時,右邊側邊欄顯示返回到頂部。
2.思路:
(1)給document加scroll事件。
(2)獲取頁面被卷去的部分用window.pageYOffset.
(3)不斷判斷頁面滾動瞭多少。計算右邊側邊欄應該待的位置。
3.代碼:
pink老師用瞭固定定位fixed(固定定位是相對於窗口的距離),我做的還是用絕對定位(絕對定位是相對於父元素來說的,即document),都是可以實現的。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { width: 80%; height: 200px; background-color: pink; } .banner { width: 80%; height: 400px; background-color: aquamarine; } .main { width: 80%; height: 800px; background-color: red; } .foot { width: 80%; height: 400px; background-color:blanchedalmond; } .lan { position: absolute; right:10%; top:400px; width: 80px; height: 80px; background-color: cadetblue; } </style> </head> <body> <div class="top">頭部區域</div> <div class="banner">banner區域</div> <div class="main">頭部區域</div> <div class="foot">尾部區域</div> <div class="lan"></div> <script> var lan = document.querySelector('.lan'); document.addEventListener('scroll', function() { console.log('jkjkkj'); var top = window.pageYOffset; if(top > 200) { // 改為固定定位。 var topp = 400-200 + top; lan.style.top = topp+'px'; if(top > 600) { lan.innerHTML = '返回頂部'; } else { lan.innerHTML = ''; } } else { lan.style.top = 400+'px'; lan.innerHTML = ''; } }) </script> </body> </html>
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。