<view class="flex box box-lr" style='background-color: #eee;'>

<scroll-view class="flex groups box box-tb" scroll-y="true" scroll-into-view="{{scrollIntoView}}">

<block wx:for="{{groups}}" wx:for-item="group">

<view class="flex" id="{{group.groupName}}">

<view class="group-name">{{group.groupName}}</view>

<view class="flex group-users">

<view wx:for="{{group.users}}" wx:for-item="user" wx:for-index="idx" class="user box box-lr">

<view>

<checkbox></checkbox>

</view>

<view class="flex user-name">{{user.name}}</view>

</view>

</view>

</view>

</block>

</scroll-view>


<view class="nav box box-tb" bindtouchmove="touchmove" bindtouchcancel="touchcancel" bindtouchend="touchend">

<view bindtap="tabLetter" data-index="{{item}}" wx:for="{{letters}}" class="flex box box-align-center box-pack-center letter">

<text class="letter-text {{selected == item ? 'letter-actived' : ''}}">{{item}}</text>

</view>

</view>

</view>


------------------------------js代码

onLoad: function (options) {

const res = wx.getSystemInfoSync(),

letters = this.data.letters;

// 设备信息

this.setData({

windowHeight: res.windowHeight,

windowWidth: res.windowWidth,

pixelRatio: res.pixelRatio

});

// 第一个字母距离顶部高度,css中定义nav高度为94%,所以 *0.94

const navHeight = this.data.windowHeight * 0.94, //

eachLetterHeight = navHeight / 26,

comTop = (this.data.windowHeight - navHeight) / 2,

temp = [];


this.setData({

eachLetterHeight: eachLetterHeight

});


// 求各字母距离设备左上角所处位置


for (let i = 0, len = letters.length; i < len; i++) {

const x = this.data.windowWidth - (10 + 50) / this.data.pixelRatio,

y = comTop + (i * eachLetterHeight);

temp.push([x, y]);

}


this.setData({

lettersPosition: temp

})

},

tabLetter(e) {

const index = e.currentTarget.dataset.index;

//this.data.select

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 空空如也

    18人对此回答表示赞同

    wechatide://minicode/YUaxkGmE74UD代码片段

    展开
    18
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Angel

    15人对此回答表示赞同

    确实是不会滚动,但是你给scroll-view一个固定高就会滚动了,我试过了

    展开
    15
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 沐雨风

    14人对此回答表示赞同

    兄弟,你需要给scrollView一个固定的高度,可以用wx.getSystemInfoSync()动态获取windowHeight,这样就可以了,为了稳妥起见,要给scroll-view设置高度才能实现。

    展开
    14
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • fallingdown咋办

    12人对此回答表示赞同

    既然可以摘出来,做个代码片段可好?

    展开
    12
    13回复
    发布于 5年前

    评论(13)

    收起评论

    • Rita 2019-02-02 15:13

      想请问你,在做这个交互的时候,安卓会出现卡顿的情况么?我做的ios正常,安卓特别卡~~~

      回复
    • 末初之至 2019-02-04 20:33

      可能根本原因还是没有高度,就他发的这个代码片段

      回复
    • baby爱我多一次 2019-02-06 17:40

      咦,我找个人来看看

      回复
    • 沦陷的痛 2019-02-08 14:48

      很奇怪的啊,如果scroll-view只有爸爸,没有爷爷的话,模拟器上是可以正常的滚动和scroll-into-view的。但是有了爷爷就不行了。。

      回复
    • 瓦卡卡 2019-02-10 16:00

      height:100%是相对父级节点的高度的

      回复
    • Linda林晓达 2019-02-12 16:33

      不客气,我也没搞懂到底是哪里的问题。看起来一切都对的。。

      回复
    • Abigail 2019-02-14 10:45

      多谢,我弄了一天都没什么头绪

      回复
    • Raimundo 2019-02-16 19:07

      不太理解。。但是有效。。应该是高度其实是没有的,不知道为啥看上去还是有

      回复
    • 胖小王 2019-02-18 20:04

      非常感谢

      回复
    • NONO小诺 2019-02-20 23:56

      还真不行,我研究一下。。

      回复
    • Ela腹黑的程序猿 2019-02-22 18:19

      点击右边的字母跳转到对应的人,套了view就不渲染了

      回复
    • Gina失踪了 2019-02-24 21:50

      我试了,套了层view,还是渲染的啊

      回复
    • Yogi 2019-02-26 08:31

      wechatide://minicode/YUaxkGmE74UD代码片段

      回复
    加载更多
  • 唉呀妈呀

    5人对此回答表示赞同

    都不排版下看的好乱@_@

    展开
    5
    1回复
    发布于 5年前

    评论(1)

    收起评论

    • 相亲相爱 2019-02-03 19:41

      wechatide://minicode/YUaxkGmE74UD代码片段

      回复
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
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部