目录

微信小程序实现页面内的跳转scroll-view

目录

微信小程序实现页面内的跳转——scroll-view

微信小程序实现页面内的跳转 —— scroll-view

需求:在页面内我们常常会写这样一个效果,一个 a 标签

href= ”#id” 点击会跳转到本页面的某个模块。微信小程序里我们要实现这个效果需要用到 scroll-view 组件

官方组件介绍:

问题:我第一次尝试这个组件的时候应用到自己的项目里发现完全没有反应

然后我开始检查我的代码:

https://img-blog.csdn.net/20170113143943303

Scroll-y=”true” 设置 –ok

https://img-blog.csdn.net/20170113144013546

目标元素 Id 设置

–ok

Scroll-into-view 点击跳转时设置为

id–ok

https://img-blog.csdn.net/20170113144029709

将 scroll-view 组件包裹在整个页面外面并且设置高度为整个页面的高度

–ok

表面看完全遵从官方文档,但在我把官方给出的例子看了之后对这个组件有了更清楚的认识,我意识到他其实给我之前写的图片轮播用了一样的思路,在固定大小的视觉窗口里有一个超出这个窗口大小的页面,通过滚动这个大页面的位置让它的不同部位显示在窗口的可视部分这就给我们造成了页面或图片其实是在滚动的感觉。

Scroll-view 的官方介绍里说需要给

scroll-view

组件一个固定高度就是这个意思,所以我其实不应该设置

scroll-view

的固定高度为整个页面的高度,只需要设置为整个屏幕的可视区域高度就可以了。

https://img-blog.csdn.net/20170113144051928

就像上面这张图展示的, scroll-view 组件的高度要设置为移动设备屏幕可视区域高度。

而得到设备高度就又需要微信小程序提供的 API :

wx.getSystemInfo

https://img-blog.csdn.net/20170113144142710

Js 页

Page({

onLoad:function(){

var that=this

wx.getSystemInfo({

success: function(res) {

that.setData({

systemInfo:res

})

that.update()

}

})

},

data:{

viewID:‘main’,

systemInfo:{}

},

toBuyCar:function(){

var id=‘buyCar’

this.setData({

viewID:id

})

}

})

页面上 wxml

<scroll-view style=“height:{ {systemInfo.windowHeight}}px;” scroll-into-view="{ {viewID}}" scroll-y=“true”>

成功!