亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序?qū)Ш綑诨瑒?dòng)定位功能示例(實(shí)現(xiàn)CSS3的positionsticky效果)

 更新時(shí)間:2019年01月24日 09:35:45   作者:Rattenking  
這篇文章主要介紹了微信小程序?qū)Ш綑诨瑒?dòng)定位功能,可實(shí)現(xiàn)CSS3的positionsticky效果,涉及微信小程序事件監(jiān)聽(tīng)、狀態(tài)判斷及屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了微信小程序?qū)Ш綑诨瑒?dòng)定位功能。分享給大家供大家參考,具體如下:

實(shí)現(xiàn)的效果

實(shí)現(xiàn)的原理

1. 通過(guò)對(duì)scroll的監(jiān)聽(tīng)獲取滾動(dòng)條的scrollTop值;

2. 在導(dǎo)航的class判斷scrollTop;

3. 切換position:fixed與position:relative。

WXML

<view style="height:100%;position:fixed;width:100%;">
 <scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;">
  <view class="page-bottom-content">
   <text>{{text}}</text>
  </view>
  <view class="page-banner">
   banner
  </view>
  <view class="page-group {{scrollTop > 360 ? 'page-group-position' : ''}}">
   <view class="page-nav-list"><text>首頁(yè)</text></view>
   <view class="page-nav-list"><text>活動(dòng)</text></view>
   <view class="page-nav-list"><text>菜單</text></view>
   <view class="page-nav-list"><text>我的</text></view>
  </view>
  <view class="goods-list">
   goods-list
  </view>
 </scroll-view>
</view>

WXCSS

.page-banner{height: 500rpx;background-color: greenyellow;padding: 20rpx;color:#fff;}
.page-group{
 display: table;
 background-color: blueviolet;
 width: 100%;
 table-layout: fixed;
 position: relative;
 top: 0;
 left: 0;
}
.page-group-position{
 position: fixed;
}
.page-nav-list{
 padding:30rpx 0 ;
 display: table-cell;
 text-align: center;
 color: #fff;
}
.goods-list{
 height: 2000rpx;
 background-color: green;
 padding: 20rpx;
 color:#fff;
}

JS

Page({
 data: {
  scrollTop: null
 },
 //滾動(dòng)條監(jiān)聽(tīng)
 scroll: function (e) {
  this.setData({ scrollTop: e.detail.scrollTop })
 },
})

總結(jié):

1. 要獲取scrollTop,在微信小程序中我們需要:<scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;"></scroll-view>

2. 微信小程序要綁定bindscroll事件,需要綁定在scroll-view組件上,同時(shí)設(shè)置scroll-y和height。

3. 如果scroll-view的高設(shè)置100%,就需要在其外層添加一個(gè)固定高的盒子,否則監(jiān)聽(tīng)不會(huì)生效。

4. 通過(guò)scroll事件獲取scrollTop:this.setData({ scrollTop: e.detail.scrollTop })

5. 導(dǎo)航欄class的切換:

scrollTop > 360 ? 'page-group-position' : ''

實(shí)質(zhì):

scrollTop > 360 ? 'fixed' : 'relative'

缺點(diǎn):

1. 由于有獲取scrollTop的過(guò)程,所以會(huì)出現(xiàn)定位不及時(shí),也就是導(dǎo)航閃動(dòng)的效果;
2. 沒(méi)有原生CSS3的position:sticky流暢,體驗(yàn)比較差;
3. 由于我目前還未找到直接獲取page-group的offsetTop方法,所以直接采用的是360固定值,此效果是在蘋(píng)果6進(jìn)行的測(cè)試。

此效果只是提供一個(gè)思路,不建議使用在項(xiàng)目中,體驗(yàn)太差,有待優(yōu)化。如果有更好思路的大神,敬請(qǐng)指教。

Demo源碼:

點(diǎn)擊此處本站下載。

希望本文所述對(duì)大家微信小程序開(kāi)發(fā)有所幫助。

相關(guān)文章

  • 深度解析JavaScript對(duì)象繼承

    深度解析JavaScript對(duì)象繼承

    JavaScript中的對(duì)象繼承是構(gòu)建靈活、可維護(hù)代碼的關(guān)鍵部分,本文主要介紹了深度解析JavaScript對(duì)象繼承,包括原型鏈繼承、構(gòu)造函數(shù)繼承、組合繼承等,感興趣的可以了解一下
    2024-01-01
  • 世界上最短的數(shù)字判斷js代碼

    世界上最短的數(shù)字判斷js代碼

    本文給大家分享世界上最短的數(shù)字判斷js代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • HTML+CSS+JS實(shí)現(xiàn)的簡(jiǎn)單應(yīng)用小案例分享

    HTML+CSS+JS實(shí)現(xiàn)的簡(jiǎn)單應(yīng)用小案例分享

    這篇文章主要為大家分享四個(gè)用HTML+CSS+JS實(shí)現(xiàn)的簡(jiǎn)單應(yīng)用小案例,有:猜數(shù)字、表白墻、切換日夜間模式和待辦事項(xiàng),需要的可以參考一下
    2022-02-02
  • webpack 開(kāi)發(fā)和生產(chǎn)并行設(shè)置的方法

    webpack 開(kāi)發(fā)和生產(chǎn)并行設(shè)置的方法

    這篇文章主要介紹了webpack 開(kāi)發(fā)和生產(chǎn)并行設(shè)置的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 用JS實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲

    用JS實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲

    這篇文章主要為大家詳細(xì)介紹了用JS實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法

    select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法

    下面小編就為大家分享一篇select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 一文詳解JavaScript中的replace()函數(shù)

    一文詳解JavaScript中的replace()函數(shù)

    replace方法的語(yǔ)法是stringObj.replace(rgExp, replaceText),其中stringObj是字符串(string),下面這篇文章主要給大家介紹了關(guān)于JavaScript中replace()函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 微信小程序自定義彈出層效果

    微信小程序自定義彈出層效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義彈出層效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • JS中URL.createObjectURL使用示例講解

    JS中URL.createObjectURL使用示例講解

    URL.createObjectURL()方法會(huì)根據(jù)傳入的參數(shù)創(chuàng)建一個(gè)指向該參數(shù)對(duì)象的URL. 這個(gè)URL的生命僅存在于它被創(chuàng)建的這個(gè)文檔里. 新的對(duì)象URL指向執(zhí)行的File對(duì)象或者是Blob對(duì)象,這篇文章主要給大家介紹了關(guān)于JS中URL.createObjectURL使用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • JavaScript通過(guò)Date-Mask將日期轉(zhuǎn)換成字符串的方法

    JavaScript通過(guò)Date-Mask將日期轉(zhuǎn)換成字符串的方法

    這篇文章主要介紹了JavaScript通過(guò)Date-Mask將日期轉(zhuǎn)換成字符串的方法,涉及javascript日期、數(shù)組及字符串操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06

最新評(píng)論