我设置了三个滑块。一个是范围,另外两个是常规的。滑块在页面上呈现,但在第一次单击时,它们将转到最小值或最大值。之后他们似乎陷入困境。将console.log添加到事件处理程序会显示它们在第一次单击后不再响应任何事件。也没有控制台错误。我不知道如何调试这个。我还能尝试什么?
<script type='text/javascript'>
jQuery(function($) {
$(".slide-container").each(function(i, v) {
$(v).children(".slide").slider({
range: "min",
animate: true,
min: $(v).children(".min").html(),
max: $(v).children(".max").html(),
value: $(v).children(".value").html(),
slide: function(event, ui) {
$(v).children(".value").html(ui.value);
true;
}
});
});
$(".range-container").each(function(i, v) {
$(v).children(".range").slider({
range: true,
animate: true,
min: $(v).children(".min").html(),
max: $(v).children(".max").html(),
values: [$(v).children(".min-value").html(),
$(v).children(".max-value").html()],
slide: function(event, ui) {
$(v).children(".min-value").html(ui.values[0]);
$(v).children(".max-value").html(ui.values[1]);
true;
}
});
});
});
</script>
<div class='slide-container'>
<div class='slide' id='password-strength-slide'></div>
<div class='min'>0</div>
<div class='max'>100</div>
<div class='value'>80</div>
</div>
<div class='range-container'>
<div class='range' id='password-length-range'></div>
<div class='min'>4</div>
<div class='max'>32</div>
<div class='min-value'>8</div>
<div class='max-value'>12</div>
</div>
<div class='range-container'>
<div class='range' id='token-length-range'></div>
<div class='min'>4</div>
<div class='max'>16</div>
<div class='min-value'>3</div>
<div class='max-value'>4</div>
</div>
答案 0 :(得分:2)
您的mix
max
和values
选项需要整数,他们目前正在获取字符串,因此请使用parseInt()
,如下所示:
$(".range-container").each(function(i, v) {
$(v).children(".range").slider({
range: true,
animate: true,
min: parseInt($(v).children(".min").html(), 10),
max: parseInt($(v).children(".max").html(), 10),
values: [parseInt($(v).children(".min-value").html(), 10),
parseInt($(v).children(".max-value").html(), 10)],
slide: function(event, ui) {
$(v).children(".min-value").html(ui.values[0]);
$(v).children(".max-value").html(ui.values[1]);
}
});
});
You can see the updated/working version here。或者减少重复的代码,并使用函数like this或插件方法like this提高效率。