微信小程序_指示器效果實現

效果圖

wxml:

<!-- 橫向指示器 -->

<scroll-view scroll-x="true" class='scroll'>//橫向滾動

<view class='indicator'>//view相當於div

<block wx:for-items="{{indicatorList}}" wx:key="key">//block一般判斷語句我都放在這裏  wx:for-items="{{indicatorList}}" 

//indicatorList是數據源(js中的data  Json格式)

<view class='indicator_item' bindtap='indicatorListener' data-index="{{index}}">  //index也就是每一條數據源下標 0 1 2 3這樣的

//data-(index)這個index可以換名字data-ccindex都行 獲取下標的時候用的

//bindtap是一個監聽事件  監聽事件的發生 相當於安卓裏面的的  xxx.setOnclickListener()

<block wx:if="{{index==clickId}}">//判斷clickId與index是不是一樣  初始化 clickId爲0  也就是第一個頭條爲帶顏色的

<view style='color:#2D8BDE'>{{item}}</view>//這個item爲列表項

</block>

<block wx:else>//否則正常加載 不帶顏色

<view>{{item}}</view>

</block>

</view>

</block>

</view>

</scroll-view>

wxss://這個跟css寫法產不多

/* scrollView */

.scroll{

background: #f5f5f5;

white-space: nowrap;

}

/* 指示器 */

.indicator{

padding: 15rpx 10rpx;

flex-direction: row;

}

/* 指示器裏面的item */

.indicator_item{

padding-left: 10rpx;

padding-right: 10rpx;

font-size: 30rpx;

display: inline-block;

}

/* 去除滾動條 */

::-webkit-scrollbar{

width: 0;

height:0;

color: transparent;

}

js:對於一些操作都放在這裏

// pages/index2/index2.js

Page({

 

/**

* 頁面的初始數據

*/

data: {

 

indicatorList: ["頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條", "頭條",],//指示器數據  Json格式

 

clickId:0,//點擊的item

},

// 指示器監聽事件

indicatorListener:function(res){

wx.showToast({

title: '您點擊的是第' + res.currentTarget.dataset.index+'個',

icon:'none'

})//微信的toast 相當於安卓裏面的 toast.makeTest();

this.setData({

clickId:res.currentTarget.dataset.index

})//this.setData() 主要是賦值操作  this相當於java的本類對象 通過他可以調取函數 賦值

},

 

/**

* 生命週期函數--監聽頁面加載

*/

onLoad: function (options) {

 

},

 

/**

* 生命週期函數--監聽頁面初次渲染完成

*/

onReady: function () {

 

},

 

/**

* 生命週期函數--監聽頁面顯示

*/

onShow: function () {

 

},

 

/**

* 生命週期函數--監聽頁面隱藏

*/

onHide: function () {

 

},

 

/**

* 生命週期函數--監聽頁面卸載

*/

onUnload: function () {

 

},

 

/**

* 頁面相關事件處理函數--監聽用戶下拉動作

*/

onPullDownRefresh: function () {

 

},

 

/**

* 頁面上拉觸底事件的處理函數

*/

onReachBottom: function () {

 

},

 

/**

* 用戶點擊右上角分享

*/

onShareAppMessage: function () {

 

}

})

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章