我似乎无法获得jQuery Simple Slider(http://loopj.com/jquery-simple-slider/)来初始化一个跨度,该跨度在拖动之前显示滑块值。拖动滑块后,跨度确实会更新,并且更新跨度的代码在同一个绑定中,因此它看起来像滑块:已更改的事件被捕获但滑块:就绪没有。
<form>
<input name="slider"
type="text"
data-slider="true"
data-slider-highlight="true"
data-slider-step="1"
data-slider-range="1,99"
value="20">
</form>
$("[data-slider]")
.each(function () {
var range;
var input = $(this);
$("<span>").addClass("output")
.insertAfter(input);
range = input.data("slider-range").split(",");
$("<span>").addClass("range")
.html(range[0])
.insertBefore(input);
$("<span>").addClass("range")
.html(range[1])
.insertAfter(input);
$(this).bind("slider:ready slider:changed", function (event, data) {
$(this).nextAll(".output:first")
.html(data.value.toFixed(2));
})
});
然而,simpleslider作者给出的examples似乎确实显示了初始滑块值,但我无法看到我正在采取的不同方式阻止我的工作。
请在此处查看我的小提琴http://jsfiddle.net/nickweavers/77c89pju/23/
答案 0 :(得分:1)
您可以手动添加第一次的值,我认为这是更简单的方法。
http://jsfiddle.net/77c89pju/26/
我写的代码是在&#34; data-slider&#34;的每个循环中调用的匿名函数的末尾。是:
$(this).nextAll(".output:first").html($(this).val());