- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Angular js 中使用带有可拖动范围(https://jsfiddle.net/ValentinH/954eve2L/)的 slider 来进行时间选择。我想在此 slider 中设置时间。所以我的时钟是从 00.00 到 24.00。但我想设置时间间隔为 10 分钟,如 00.10, 00.20, 00.30, 00.40, 00.50, 01.00, 01.10,01.10
<article>
<h2>Slider with draggable range</h2>
<rzslider rz-slider-model="slider_draggable_range.minValue" rz-slider-high="slider_draggable_range.maxValue" rz-slider-options="slider_draggable_range.options"></rzslider>
</article>
// Slider with draggable range
$scope.slider_draggable_range = {
minValue: 1,
maxValue: 8,
options: {
ceil: 10,
floor: 0,
draggableRange: true
}
};
$scope.slider_draggable_range = {
minValue: $scope.fromTime,
maxValue: $scope.toTime,
options: {
ceil: 24,
floor: 0,
draggableRange: true,
showTicks: true,
hideLimitLabels: true,
hourBase: function(value) {
return (((value > 1 && value < 12) || value > 25) ? '0' : '') + (value + 22) % 24 + '00 hrs'
},
steps: pules()
}
};
我无法发布我的完整代码。因为这是不可能的。我正在按小时选择时间,例如 10.00、11.00、12.00……但是现在我想从 1.10、1.20、1.30 开始计时。
当我静态使用 minValue: 4.40
时,它会指向 4,当我设置 4.60
时,它会指向 5
,所以它转换成整数值。不是积分。
$scope.slider_draggable_range = {
minValue: 4.40,
maxValue: 7,
options: {
ceil: 24,
floor: 0,
draggableRange: true
}
};
ceil:24 limit,
floor: starting point, minvalue:plote starting point for
rang, maxvalue:plote ending point for rang
请分享您的想法。这个问题对我很重要,您的回答很有值(value)。
最佳答案
如果我理解正确的话,你想要的东西,可以使用 stepsArray
实现选项。
思路是用option自己设置options。这样你就可以将它设置为非整数。
(在 http://angular-slider.github.io/angularjs-slider/ 中搜索演示 Slider with Alphabet
)
像这样(不是这样,只是一个例子):
var app = angular.module('rzSliderDemo', ['rzModule', 'ui.bootstrap']);
app.controller('MainCtrl', function($scope, $rootScope, $timeout) {
var arr = getRange().map(n => {
return {
value: n,
legend: n
};
});
$scope.slider = {
minValue: '10.50',
maxValue: '14.20',
options: {
showTicks: true,
stepsArray: arr
}
};
});
function getRange() {
var arr = [];
var d = new Date(2017, 1, 1);
for (var i = 0; i < (6 * 24); i++) {
d.setMinutes(d.getMinutes() + 10);
arr.push(leadZero(d.getHours()) + '.' + leadZero(d.getMinutes()));
}
return arr;
}
function leadZero(time) {
return time < 10 ? '0' + time : time;
}
* {
margin: 0;
padding: 0;
}
body {
font-family: 'Open Sans', sans-serif;
color: #1f2636;
font-size: 14px;
padding-bottom: 40px;
}
header {
background: #0db9f0;
color: #fff;
margin: -40px;
margin-bottom: 40px;
text-align: center;
padding: 40px 0;
}
h1 {
font-weight: 300;
}
h2 {
margin-bottom: 10px;
}
.wrapper {
background: #fff;
padding: 40px;
}
article {
margin-bottom: 10px;
}
.tab-pane {
padding-top: 10px;
}
.field-title {
width: 100px;
}
.vertical-sliders {
margin: 0;
}
.vertical-sliders>div {
height: 250px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://rawgit.com/rzajac/angularjs-slider/master/dist/rzslider.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.14.3/ui-bootstrap-tpls.js"></script>
<script src="https://rawgit.com/rzajac/angularjs-slider/master/dist/rzslider.js"></script>
<div ng-app="rzSliderDemo">
<div ng-controller="MainCtrl" class="wrapper">
<header>
<h1>AngularJS Touch Slider</h1>
</header>
<article>
<h2>Simple slider</h2>
Model:
<input type="text" ng-model="slider.minValue" />
<input type="text" ng-model="slider.maxValue" />
<br/>
<rzslider rz-slider-model="slider.minValue" rz-slider-high="slider.maxValue" rz-slider-options="slider.options"></rzslider>
</article>
</div>
</div>
关于javascript - 如何在angularjs中设置范围 slider 的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43803661/
我是一名优秀的程序员,十分优秀!