日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本篇文章帶大家詳細了解一下Bootstrap中的自動定位浮標。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。


深入淺析Bootstrap中的自動定位浮標


Affix 插件主要功能就是通過插件給某個元素(需要固定的元素)添加或刪除position:fixed,實現元素在瀏覽器窗口的粘性固定效果。


基本用法

首先,來看一個蘋果官網對自動定位浮標的應用


深入淺析Bootstrap中的自動定位浮標


從上面的git圖中可知,Macbook一欄滾動到一定高度時,固定在窗口頂部便不再移動

Affix 插件可以對任何元素進行固定定位,其中比較簡單的方法,就是通過自定義屬性data來觸發。其主要包括兩個參數:

1、data-spy:取值 affix,表示元素是固定不變的。

2、data-offset:整數值,比如 90,表示元素 top 和 bottom 的值都是 90px,其包括兩種方式:data-offset-top和data-offset-bottom

data-offset-top用來設置元素距離頂部的距離。比如 90,表示元素距離頂部 90px,當用戶從頂部向下拖動滾動條,當滾動的距離大于 90px 時,affix 元素不再滾動,就會固定在瀏覽器窗口頂部

data-offset-bottom剛好與 data-offset-top 相反

<div data-spy="affix" data-offset="90">affix元素</div>
<!-- 等價 -->
<div data-spy="affix" data-offset-top="90" data-offset-bottom="90">affix元素</div>

【設置CSS】

在使用Affix插件時,必須通過 CSS 定位內容。Affix插件在三種 class 之間切換,每種 class 都呈現了特定的狀態:.affix、.affix-top 和 .affix-bottom

1、在開始時,插件添加.affix-top來指示元素在它的最頂端位置。這個時候不需要任何的 CSS 定位 

2、當滾動經過添加了Affix的元素時,應觸發實際的Affix。此時.affix會替代.affix-top,同時設置position: fixed(由 Bootstrap 的 CSS 代碼提供)

這時,需要手動設置.affix,如.affix{top:0;}表示停止在窗口頂部

3、如果定義了底部偏移,當滾動到達該位置時,應把.affix替換為.affix-bottom。由于偏移是可選的,假如設置了該偏移,則要求同時設置適當的 CSS。在這種情況下,請在必要的時候添加position: absolute;

<style>
.test{width: 100%;height: 50px;background-color:lightgreen;}
.affix{top:0px;}
</style>
</head>
<body style="height:1000px;" >
    <div style="height:100px"></div>
    <div data-spy="affix" data-offset="100" class="test"></div>
</body>


深入淺析Bootstrap中的自動定位浮標


JS觸發

有時候,使用該插件,其頂部和底部的高度不一定是固定的,所以在初始化時使用聲明式用法不太合適。這時,使用javascript用法就顯得比較靈活了,因為它不僅支持傳入數字型的offset,還支持傳入能夠動態計算offset的function函數

<script>
$('#myAffix').affix({
    offset: {
        top:100,
        bottom: function () {
            return (this.bottom = $('footer').outerHeight(true))
        }
    }
})    
</script>

【事件】

affix組件提供了6種事件,即affix和affixed各對應于3種狀態(普通、top、bottom)時的事件

affix.bs.affix    在定位結束之前立即觸發
affixed.bs.affix    在定位結束之后立即觸發
affix-top.bs.affix    在定位元素應用affixed-top效果之前立即觸發
affixed-top.bs.affix    在定位元素應用affixed-top效果之后立即觸發
affix-bottom.bs.affix    在定位元素應用affixed-bottom效果之前立即觸發
affixed-bottom.bs.affix    在定位元素應用affixed-bottom效果之后立即觸發
<style>
.test{width: 100%;height: 50px;background-color:lightgreen;}
header{height: 100px;}
.affix{top:0px;}
</style>
</head>
<body style="height:1000px;">
<header></header>
<div data-spy="affix" class="test"></div>
<script>
$(function(){
    $('.test').affix({
        offset:{
            top:function(){
                return (this.top = $('header').outerHeight(true))
            }
        }
    }).on('affix.bs.affix',function(){
        $(this).html('我被固定在窗口頂部');
    }).on('affix-top.bs.affix',function(){
        $(this).html('我正跟隨滾動條滾動');
    })
})    
</script>


深入淺析Bootstrap中的自動定位浮標


分享到:
標簽:Bootstrap 自動定位浮標
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定