ionic怎样定位一个html元素?

需要在页面的右下角放一个“返回顶部”的按键。

但页面的调试是不确定的。

用fixed定位后,并不能实现浮动的效果。

页面的调试是不确定的,会随着上拉后加载更多。

应该怎样定位一个“返回顶部”的按键?

阅读 7.2k
3 个回答

翻了各个手机应用,还没有发现哪个手机应用有使用显示出“返回顶部”的设计的。

微信朋友圈是双击最上边可以返回顶部,当然这就不会涉及到定位元素的问题。

我现在使用的方案是:
1.元素设置为:

position: fixed;top:{{hh}}px;right:1.5rem;z-index: 99;

在pc浏览器定位的时候是一般用bottom,用top的话就需要监听滚动条,动态设置top了。

2.控制器中获取滚动条的高度:(监听的事件是:on-drag)

$scope.showtp=function(){
    var h=$ionicScrollDelegate.getScrollPosition();
    var wh=0.75*window.innerHeight;
    $scope.hh=h.top+wh;
    $scope.wh=wh*2;
}

3.html 最终是这样的:

<div style="font-size: 2rem;position: fixed;top:{{hh}}px;right:1.5rem;z-index: 99;border:1px solid #999;border-radius: 50%;padding:0 0.4rem;" ng-show="hh>wh"><i class="ion-android-arrow-up" ng-click="totop()" style="color:#999;"></i></div>

现在就做到这样,能用是通用,但不够理解。
当你上下滑动后放手时,滚动条会自动滑动,这里不知监听什么事件好; 所以现在的情况是放手后“返回顶部“的图标可能跑到中间或者是不见了,而不能一直定位到右下角。

更新:
其实有个更为简单的方法:
就是把要定位的html元素放到<ion-content>外边来,用fixed定定位就可以了。
如果放到<ion-content>里面的话,就会像我上面那样比较麻烦。

把元素设置为绝对定位不就好了么

第一点你的返回按钮不能放在

ion-content

里面,不然在页面滑动的时候会跟着滑动。并且fixed不起作用。

所以放在ion-contention-view

另外,返回顶部用$ionicScrollDelegate.$getByHandle(handle).anchorScroll()
或者 $ionicScrollDelegate.$getByHandle(handle).scrollTop();

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题