欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript實現固定側邊欄

 更新時間:2021年02月09日 10:29:43   作者:愛前端的茂茂  
這篇文章主要為大家詳細介紹了javascript實現固定側邊欄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

用javascript實現固定側邊欄,供大家參考,具體內容如下

正在學習大前端中,有代碼和思路不規(guī)范不正確的地方往多多包涵,感謝指教

我們在逛某某商城的時候,或者某些網站的時候,通常會遇到有個東西叫做側邊欄,這個東西會跟隨我們?yōu)g覽器瀏覽長度來進行變化1,從而實現相對窗口的固定位置1

**代碼如下**

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
 .cm{
 position: absolute;
 top: 300px;
 margin-left: 1150px;
 width: 60px;
 height: 130px;
 background-color: pink;
 }
 .w{
 margin: 10px auto;
 width: 80%;
 }
 .head{
 height: 200px;
 background-color: blue;
 }
 .banner{
 height: 400px;
 background-color: green;
 }
 .main{
 height: 1000px;
 background-color: hotpink;
 }
 span {
 display: none;
 /*position: absolute;
 bottom: 0;*/
 }
 </style>
</head>
<body>
 <div class="cm">
 <span class="backTop">返回頂部</span>
 </div>
 <div class="head w">頭部區(qū)域</div>
 <div class="banner w">banner區(qū)域</div>
 <div class="main w">主體區(qū)域</div>
 <script>
 var cm=document.querySelector('.cm')
 var banner=document.querySelector('.banner')
 /*console.log(banner.offsetTop)*/
 //被卷曲頭部的大小位置,寫在外面
 var bannertop=banner.offsetTop
 var cmtop=cm.offsetTop-bannertop
 var main=document.querySelector('.main')
 var goback=document.querySelector('.backTop')
 var maintop=main.offsetTop
 document.addEventListener('scroll',function () {
 //頁面被卷去的頭部
 /*console.log(window.pageYOffset)*/
 //當卷曲頭部大于214,側邊欄改為固定
 if (window.pageYOffset>bannertop){
 cm.style.position='fixed'
 cm.style.top=cmtop+'px'
 }else {
 cm.style.position='absolute'
 cm.style.top='300px'
 }
 if (window.pageYOffset>maintop){
 goback.style.display='block'
 }else {
 goback.style.display='none'
 }
 })
 </script>
</body>
</html>

演示效果

代碼解釋

這里用到了document的添加事件scroll,瀏覽器滾動事件,當滾動時,觸發(fā)函數。

這里設置了一個變量為bannerTop,是中間那個綠色模塊頂部距離頁面最上方的距離,然后定義cmtop這個變量,cm為側邊欄到頂部的距離,cmtop=bannerTop-cm.offsetTop。然后判斷頁面卷曲的長度是否大于中間那個模塊距離頂部的距離,意思的頁面是否劃到中間這個模塊,如果劃到了中間這個模塊,那么讓側邊欄的位置固定,然后側邊欄距離頂部的距離相應改變,這里這個情況因為側邊欄與中間拿塊是相對靜止,所以,未卷到中間區(qū)域時,cmtop的值是恒定不變的,當卷到中間區(qū)域時,banner。Top的值變?yōu)樨撝?,所以cmtop的值在相應的增加,并且把這個增加的值傳給側邊欄距離頂部的值,這也就出現了劃到中間區(qū)域,側邊欄相對靜止的情況。如果沒有滑倒中間區(qū)域,那么側邊欄的位置還是默認的位置。

然后如果劃到了最后一個區(qū)域則出現‘回到頂部'這四個字在側邊欄上。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 理解javascript中DOM事件

    理解javascript中DOM事件

    這篇文章主要幫助大家理解javascript中DOM事件,解決了DOM事件的兼容性,DOM事件的冒泡,以及DOM事件的重用,感興趣的小伙伴們可以參考一下
    2015-12-12
  • JavaScript 中的 this 簡單規(guī)則

    JavaScript 中的 this 簡單規(guī)則

    想要確定this里規(guī)則是什么,其實方法很簡單,通過檢查它的調用位置,在函數被調用的時候確定this,下面就跟隨腳本之家小編一起通過本文學習吧
    2017-09-09
  • javascript 彈出的窗口返回值給父窗口具體實現

    javascript 彈出的窗口返回值給父窗口具體實現

    這篇文章主要介紹了javascript 彈出的窗口返回值給父窗口具體實現,有需要的朋友可以參考一下
    2013-11-11
  • 簡單實現bootstrap選項卡效果

    簡單實現bootstrap選項卡效果

    這篇文章主要為大家詳細介紹了如何簡單實現bootstrap選項卡效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 微信小程序支付功能完整流程記錄(前端)

    微信小程序支付功能完整流程記錄(前端)

    微信小程序的商戶系統(tǒng)一般是以接口的形式開發(fā)的,小程序通過調用與后端約定好的接口進行參數的傳遞以及數據的接收,下面這篇文章主要給大家介紹了關于微信小程序支付功能(前端)的相關資料,需要的朋友可以參考下
    2023-02-02
  • javascript實現勻速動畫效果

    javascript實現勻速動畫效果

    這篇文章主要為大家詳細介紹了javascript實現勻速動畫效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JS循環(huán)中正確使用async、await的姿勢分享

    JS循環(huán)中正確使用async、await的姿勢分享

    async?/?await是ES7的重要特性之一,也是目前社區(qū)里公認的優(yōu)秀異步解決方案,下面這篇文章主要給大家介紹了關于JS循環(huán)中正確使用async、await的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • js實現常見的工具條效果

    js實現常見的工具條效果

    本文主要介紹了js實現常見的工具條效果的實例。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • 深入探究使JavaScript動畫流暢的一些方法

    深入探究使JavaScript動畫流暢的一些方法

    這篇文章主要介紹了使JavaScript動畫流暢的一些方法,包括與CSS動畫效果的一些對比,需要的朋友可以參考下
    2015-06-06
  • 微信自定義分享鏈接信息(標題,圖片和內容)實現過程詳解

    微信自定義分享鏈接信息(標題,圖片和內容)實現過程詳解

    這篇文章主要介紹了微信自定義分享鏈接信息(標題,圖片和內容)實現過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09

最新評論