Ionic:使用scrollIntoView时向上滚动停止

时间:2015-01-26 17:48:47

标签: ionic

我有一个Ionic应用程序,它有一个侧面菜单,我把一些按钮作为大型html内容的索引。当我单击双面菜单按钮element.scrollIntoView(false)时,会将ion-scroll容器滚动到该元素 我发现的问题是我可以向下滚动并继续阅读html但我无法向上滚动。
离子滚动定义:

<ion-scroll delegate-handle="contentScroll" zooming="true" min-zoom="1.0" height="100%" style="height:100%" direction="['x','y']">
    <div id="page-container" style="padding: 45px 5px 5px 5px;text-align: justify;">                                            
     </div>
</ion-scroll>

按钮定义:

<ion-content ng-controller="ScrollCtrl as scroll"> 
       <button class="button" ng-click="scroll.to('markElementN')" menu-close style="width:100%">ElementN</button>
</ion-content>

scroll.to函数是:

function(mark) {
  if (mark == undefined || typeof mark != 'string' || mark.length < 1) {
    return;
  }
  var ob = document.getElementById(mark);
  if (ob) {
    ob.scrollIntoView(false);
  }
}

¿任何有同样问题的人? 我应该补充一点,我可以向上和向上滚动但不高于我滚动到视图中的元素

2 个答案:

答案 0 :(得分:0)

回答自己......太伤心了......我说道 好吧,经过google'ing很多页面后我发现问题始于scrollIntoView本身所以我不得不通过scrollBy函数更改它。
运气不好,对于下一个有同样问题的人来说更好

答案 1 :(得分:0)

经过几天的努力寻找答案后,我发现了这篇文章。 OP的答案并没有解决我的问题。但希望这能节省一些时间。

我们的问题来自于混合element.scrollIntoView()和离子的scrollDelegate。我们需要滚动到一个字段,当它有无效数据但没有Ids(锚定滚动需要工作)。我最终按名称获取元素,设置id并将其传递给scroll委托上的anchorScroll()。