最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序CSS3動畫下拉菜單效果

 更新時間:2018年11月04日 09:35:55   作者:PAT-python-zjw  
這篇文章主要為大家詳細介紹了微信小程序CSS3動畫下拉菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

微信小程序沒有自帶的下拉菜單組件,因此我們需要自己需要寫一個

思路

利用列表來存儲菜單項,在外面套一個view元素作為外框,將其設(shè)置為overflow:hidden,使用CSS3動畫逐漸改變外層view元素的高度,當高度為0時,里面嵌套的列表元素被完全隱藏,相當于菜單關(guān)閉。而當view元素的高度大于列表元素的高度時,相當于菜單顯示。

效果圖

wxml

button按鈕用于觸發(fā)菜單的打開和關(guān)閉,first_click參數(shù)使用戶第一次點擊按鈕之前菜單不可見,state參數(shù)用于控制菜單的打開和關(guān)閉狀態(tài)

<view id="text_box">
   <text decode='true'>&nbsp;歷&nbsp;史&nbsp;記&nbsp;錄</text>
</view>
<button id="slide" bindtap="toggle">▼</button>
<view id="box" class="{{first_click?'show':'hide'}} {{state?'open':'close'}}">
   <view id="item_list">
      <view>111</view>
      <view>222</view>
      <view>333</view>
   </view>
</view>

css

使用@keyframes動畫實現(xiàn)菜單的漸變打開和關(guān)閉動畫

#box{
 width: 100%;
 border-top: 1px solid #ddd;
 overflow: hidden;
 height: 0;
 animation-fill-mode: forwards;
}

#item_list{
  background-color: white;
  width: 100%;
}

#item_list view{
  text-align: right;
  overflow: auto;
  white-space: nowrap;
}

@keyframes slidedown{
  from {
    height: 0;
  }
  to {
    height: 240rpx;
  }
}

@keyframes slideup{
  from {
    height: 240rpx;
  }
  to {
    height: 0;
  }
}

.open{
  animation: slidedown 1s;
}

.close{
  animation: slideup 1s; 
}

.hide{
  display: none;
}

.show{
  display: block;
}

js

頁面加載完成時,菜單初始狀態(tài)為隱藏和關(guān)閉,用戶一旦點擊按鈕,菜單就顯示,并逐漸打開

data: {
  state:false,
  first_click:false,
 },

 toggle: function(){
   var list_state = this.data.state,
     first_state = this.data.first_click;
   if (!first_state){
     this.setData({
      first_click: true
     });
   }
   if (list_state){
     this.setData({
      state: false
     });
   }else{
     this.setData({
      state: true
     });
   }
 }

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

相關(guān)文章

  • 使用TypeScript在接口中定義靜態(tài)方法詳解

    使用TypeScript在接口中定義靜態(tài)方法詳解

    當我們談?wù)撁嫦驅(qū)ο缶幊虝r,最難理解的事情之一就是靜態(tài)屬性與實例屬性的概念,尤其是當我們試圖在靜態(tài)類型的基礎(chǔ)上進行動態(tài)語言類型化時,在本文中,我將主要介紹一下如何使用TypeScript在接口中定義靜態(tài)方法,需要的朋友可以參考下
    2023-10-10
  • 詳談表單重復提交的三種情況及解決方法

    詳談表單重復提交的三種情況及解決方法

    下面小編就為大家?guī)硪黄斦劚韱沃貜吞峤坏娜N情況及解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • JavaScript數(shù)組操作學習之splice()函數(shù)入門與精通

    JavaScript數(shù)組操作學習之splice()函數(shù)入門與精通

    這篇文章介紹了JavaScript數(shù)組操作中的splice()方法,詳細講解了其定義、語法和用法,并通過實例展示了如何使用該方法進行數(shù)組元素的添加、刪除和替換,需要的朋友可以參考下
    2024-11-11
  • "好玩的放大鏡效果" 的另一種實現(xiàn)方法

    "好玩的放大鏡效果" 的另一種實現(xiàn)方法

    "好玩的放大鏡效果" 的另一種實現(xiàn)方法...
    2006-11-11
  • 微信小程序上傳多圖到服務(wù)器并獲取返回的路徑

    微信小程序上傳多圖到服務(wù)器并獲取返回的路徑

    這篇文章主要介紹了微信小程序上傳多圖到服務(wù)器并獲取返回的路徑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • JavaScript編程的10個實用小技巧

    JavaScript編程的10個實用小技巧

    盡管我使用Javascript來做開發(fā)有很多年了,但它常有一些讓我很驚訝的小特性。對于我來說,Javascript是需要持續(xù)不斷的學習的。
    2014-04-04
  • 詳解JavaScript發(fā)送埋點請求的兩種方式

    詳解JavaScript發(fā)送埋點請求的兩種方式

    對于發(fā)送埋點請求這種應用場景,我們有兩種簡單的處理方式:動態(tài)創(chuàng)建<script>和<img>兩種方式。本文就詳細講講二種方式的實現(xiàn),需要的可以參考一下
    2022-06-06
  • uni-app實現(xiàn)全局變量的方式小結(jié)

    uni-app實現(xiàn)全局變量的方式小結(jié)

    uni-app是一個使用 Vue.js 開發(fā)所有前端應用的框架,開發(fā)者編寫一套代碼,可發(fā)布到 iOS、Android、Web(響應式)、以及各種 小程序,下面我們就來看看uni-app實現(xiàn)全局變量有哪些方法吧
    2024-12-12
  • 使用js正則表達式驗證文件擴展名方法實例

    使用js正則表達式驗證文件擴展名方法實例

    文件上傳時,為了安全驗證,對于手工改動文件后綴名產(chǎn)生的偽造文件進行判斷過濾,下面這篇文章主要給大家介紹了關(guān)于如何使用js正則表達式驗證文件擴展名的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 微信小程序-橫向滑動scroll-view隱藏滾動條

    微信小程序-橫向滑動scroll-view隱藏滾動條

    本篇文章主要介紹了微信小程序-橫向滑動scroll-view隱藏滾動條的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04

最新評論

镇远县| 贡嘎县| 县级市| 河北区| 界首市| 巨鹿县| 惠安县| 密山市| 遂平县| 永德县| 芷江| 池州市| 宝山区| 郓城县| 文昌市| 陇南市| 清水河县| 岫岩| 白城市| 顺昌县| 无为县| 刚察县| 吉木乃县| 望江县| 逊克县| 静海县| 雷州市| 聊城市| 六安市| 山丹县| 桂阳县| 韶关市| 蚌埠市| 长治县| 进贤县| 嘉禾县| 建昌县| 邵东县| 嘉善县| 泊头市| 巴林左旗|