码迷,mamicode.com
首页 > 其他好文 > 详细

ionic 监听页面滚动,点击停止滚动

时间:2017-08-29 16:50:32      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:card   一个   nic   else   stat   function   页面   问题   状态   

类似今日头条,页面上有很多card,点击每个card跳转该card的详情页面。这里有一个问题,当我滚动页面时,会先后触发touchstart、touchmove、touchend,但是当touchend后,页面仍会因为惯性而继续滚动。这个时候,我想点击页面停止滚动,而不是跳转到某个card的详情页面。

原理很简单:设置一个状态,初始值为true,页面滚动时变为false,页面停止滚动,则恢复为true,只有这个值为true时,才能触发跳转事件,即进入card详情页面。

这里需要用到ionic的一个属性:ionic.scroll.isScrolling,只要页面在滚动,其值为true;

代码:

$scope.canGoDetailCard = true;  //一开始默认能跳转进card详情页;

 

//监听touch事件

window.addEventListener(‘touchstart‘, function() {

  if (ionic.scroll.isScrolling) {  //判断页面是否正在滚动

    $scope.canGoDetailCard = false;  // 如果正在滚动,则点击跳转card详情页失效

    ionic.scroll.isScrolling = false;  //同时停止滚动;

  } else {

    $scope.canGoDetailCard = true; //没有滚动时,跳转进入card详情页

  }

});

 

$scope.goDetailCard = function() {

  if (!$scope.canGoDetailCard) return; // 如果$scope.canGoDetailCard = false, 则返回

  $state.go(‘card‘);  //进入card详情页

};

ionic 监听页面滚动,点击停止滚动

标签:card   一个   nic   else   stat   function   页面   问题   状态   

原文地址:http://www.cnblogs.com/lee-xiumei/p/7449021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!