javascript - angularjs - 使用范围 slider 设置时间

标签 javascript angularjs ionic-framework

我正在尝试使用 ionic 范围来设置一个时间段,步长为 15 分钟。 ionic 范围的工作方式就像带有最小值、最大值、步长、值的常见范围输入。

这是范围 html 代码:

<div class="item range">
  <input type="range" min="0.15" max="12" value="0" step="0.15" ng-model="TimeValue" ng-change="setTime(TimeValue)">
</div>

这是我在更改时调用的函数:

$scope.setTime = (value) ->
   $scope.hours = Math.floor(value / 0.6);
   $scope.minutes = value - ($scope.hours * 0.6);

不幸的是,这不起作用。

我想要实现的是一个步长为 0.15(分钟)的 slider ,当它达到 0.6 时自动创建一个小时,然后在 1.15(小时)处再次开始,依此类推。

我在这里关注这个答案:using ionic range to set months and years但这是几年和几个月的时间,计算方法也不同。

这是一个快速演示:http://codepen.io/anon/pen/eZVPRv?editors=1010

编辑

新演示:http://codepen.io/anon/pen/eZVPRv?editors=1010

最佳答案

使用下面的代码伙计,希望这是你所需要的-

angular.module('ionicApp', ['ionic'])
.controller('MyCtrl', ['$scope', function($scope){    
  $scope.setTime = function (value) {
    $scope.hours = Math.floor(value / 0.6);
  if(($scope.TimeValue % 0.6) == 0 ){
    $scope.minutes = 0;
    }else{
      if($scope.TimeValue <= .6){
        $scope.minutes = Math.round((value - ($scope.hours))*100);  
      }else{
        value = Math.round((value - ($scope.hours * .6))*100);
        $scope.minutes = value;
      }
    }
  }
  $scope.TimeValue = 0.15;
}])

计算出现问题,请在此处检查- http://codepen.io/himanshuapril1/pen/eZVPXe?editors=1010

关于javascript - angularjs - 使用范围 slider 设置时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36567421/

相关文章:

javascript - *ngFor 在 Ionic Popover/Modal 中不起作用

javascript - HTML5 服务器端事件 : EventSource vs. 包装的 WebSocket

javascript - 如何在 d3js 中查找关联日期(x 轴)与最大值(y 轴)

javascript - 无法迭代多个 JSON 值

javascript - 在 Angular JS 中提交后如何将表单重置为原始状态

angularjs - 每当打开/显示 View 时运行 Controller 函数

javascript - 在 React.js 的列表中保存传入的多个数据

javascript - 页面刷新时如何保持redux状态

javascript - 在 ng Repeat 中传递变量时出现 Angular youtube-embed 错误

javascript - Angular 和 Ionic 4 - 等待和异步未按预期工作