最近在做ionic的项目关于类似微信朋友圈功能的内容列表展示,内容下面有评论这条内容的功能,当手机软件盘出现之后,要评论的内容部分就被键盘遮挡住,这时就需要控制滚动条,使其自动向上滚动一个键盘的高度,具体功能使用了ionic的$ionicScrollDelegate命令,详细如下:
//delegate-handle="控制滚动区域的名字"
// 更小区域的控制范围
// controller代码
$scope.scrollMainToTop = function() {
$ionicScrollDelegate.$getByHandle('mainScroll').scrollTop(); // $getByHandle() 代表控制的区域
};
$scope.scrollSmallToTop = function() {
$ionicScrollDelegate.$getByHandle('small').scrollTop();
};
1.$ionicScrollDelegate.$getByHandle('mainScroll').getScrollPosition().left/top
返回: 对象 滚动到该视图的位置,具有一下属性:
{数值} left 从左侧到用户已滚动的距离(开始为 0)。
{数值} top 从顶部到用户已滚动的距离 (开始为 0)。 说白了就是现在滚动条的距顶部的距离,正值为顶部下方,负值为上方
2.$ionicScrollDelegate.$getByHandle('mainScroll').scrollBy(left,top,是否用滚动动画*可选)
使用这个方法在监听到键盘出现的时候让“mainScroll”区域的内容向上移动软件盘的高度
scrollBy top为正值表示控制区域向上偏移量,负值表示向下偏移量,left则表示水平偏移量
3.$ionicScrollDelegate.$getByHandle('mainScroll').scrollTo(left, top, 是否用滚动动画*可选)
scrollTo top为正值表示控制区域向上滚动的值,负值表示向下滚动的值,left则表示水平滚动的值
4.scrollTop() / scrollBottom() 直接滚动到区域的顶部或者底部
关于这个属性先介绍这么多,想了解更具体的可以看这个文档http://www.ionic.wang/js_doc-index-id-30.html(点击打开链接)