|
導(dǎo)讀微信小程序,簡(jiǎn)稱(chēng)小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或搜一下即可打開(kāi)應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一... 微信小程序,簡(jiǎn)稱(chēng)小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或搜一下即可打開(kāi)應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一項(xiàng)門(mén)檻非常高的創(chuàng)新,經(jīng)過(guò)將近兩年的發(fā)展,已經(jīng)構(gòu)造了新的小程序開(kāi)發(fā)環(huán)境和開(kāi)發(fā)者生態(tài)。 這篇文章主要介紹了微信小程序開(kāi)發(fā)之好友列表字母列表跳轉(zhuǎn)對(duì)應(yīng)位置的相關(guān)資料,希望通過(guò)本文能幫助到大家讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下微信小程序開(kāi)發(fā)之好友列表字母列表跳轉(zhuǎn)對(duì)應(yīng)位置 前言: 在小程序里實(shí)現(xiàn)微信好友列表點(diǎn)擊右側(cè)字母列表跳轉(zhuǎn)對(duì)應(yīng)位置效果。寫(xiě)了個(gè)demo,核心部分很簡(jiǎn)單,所以沒(méi)多少注釋?zhuān)绻龅絾?wèn)題就加群?jiǎn)栁野伞?/p> 核心技術(shù)點(diǎn): 1、小程序scroll-view組件的scroll-into-view, scroll-with-animation. scroll-y屬性。 view頁(yè)面代碼: index.wxml
class="container" scroll-y>
class="info" id="info" scroll-with-animation scroll-y scroll-top="200" scroll-into-view="{{toView}}" style="height:{{height}}px;">
class="iitem" id="{{item.id}}" wx:for="{{info_list}}" wx:key="1">
{{item.id}} . {{item.desc}}
class="letter {{active == true ? 'active': ''}}" bindtouchstart='start' bindtouchmove='move' bindtouchend='end'>
class="litem" bindtap='down' data-index="999">☆
class="litem" wx:for="{{letter_list}}" bindtap='down' wx:for-index="index" wx:key="2" data-index="{{index}}" style="height: {{letter_height}}px;">{{item}}
class="tips" hidden="{{hide}}">{{curView}}js代碼: index.js //index.js
//獲取應(yīng)用實(shí)例
const app = getApp()
Page({
data: {
letter_list: [],
info_list: [],
hide: true,
active: false,
toView: 'A',
curView: 'A',
letter_height: 18
},
onLoad: function () {
this.active = false;
this.timer = null;
var letter_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
var info_list = [];
for (var i = 0; i < 26; i++) {
var obj = {};
obj.id = letter_list;
obj.desc = '這是一個(gè)用于測(cè)試的DEMO。1.目標(biāo)是用于實(shí)現(xiàn)微信好友列表的點(diǎn)擊首字母跳轉(zhuǎn)到對(duì)應(yīng)好友位置。2.目標(biāo)是用于實(shí)現(xiàn)微信好友列表的點(diǎn)擊首字母跳轉(zhuǎn)到對(duì)應(yīng)好友位置';
info_list.push(obj);
}
this.setData({
height: app.globalData.height,
info_list: info_list,
letter_list: letter_list,
sHeight: 100 * 26 + 25
});
},
start: function (e) {
this.setData({
active: true,
hide: false
})
},
end: function (e) {
if (this.timer) {
clearTimeout(this.timer);
this.timer = null;
}
var moveY = e.changedTouches["0"].clientY - 18, that = this;
var curIndex = parseInt(moveY / 18);
var view = this.data.letter_list[curIndex];
this.setData({
toView: view,
active: false
});
if (!this.timer) {
this.timer = setTimeout(function () {
that.setData({
hide: true
})
that.timer = null;
}, 1000);
}
},
move: function (e) {
var moveY = e.changedTouches["0"].clientY - 18;
var curIndex = parseInt(moveY / 18);
var view = this.data.letter_list[curIndex];
this.setData({
curView: view
})
},
down: function (e) {
if (this.timer) {
clearTimeout(this.timer);
this.timer = null;
}
var index = e.currentTarget.dataset.index,
that = this;
if (index != 999) {
var view = this.data.letter_list[index];
this.setData({
toView: view,
curView: view
})
} else {
this.setData({
toView: 'A',
curView: '☆'
})
}
if (!this.timer) {
this.timer = setTimeout(function () {
that.setData({
hide: true
});
that.timer = null;
}, 1000);
}
}
})樣式部分 index.wxss /**index.wxss**/
text {
font-weight: bold
}
.letter {
font-size: 12px;
width: 24px;
height: 100%;
position: fixed;
right: 0;
top: 0;
z-index: +999;
}
.litem {
width: 24px;
height: 18px;
line-height: 18px;
text-align: center;
}
.info {
font-size: 12px;
text-align: justify;
overflow: hidden;
}
.active {
background: rgba(0, 0, 0, 0.2);
}
.iitem {
padding: 10rpx 10rpx;
margin-bottom: 10rpx;
border-radius: 8rpx;
background: rgba(222,222,222,0.2);
box-sizing: border-box;
}
.tips {
width: 40px;
height: 40px;
background: rgba(0,0,0,0.4);
font-size: 20px;
text-align: center;
line-height: 40px;
color: #fff;
position: fixed;
left: 50%;
top: 50%;
margin: -20px;
z-index: +999;
border-radius: 10rpx;以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)! 相關(guān)推薦: 以上就是微信小程序開(kāi)發(fā)之好友列表字母列表跳轉(zhuǎn)對(duì)應(yīng)位置的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章! 小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或者搜一下即可打開(kāi)應(yīng)用。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!