【发布时间】:2014-04-04 10:46:44
【问题描述】:
我想构建一个 UI 滑块来更改图像。到目前为止,我已经设法使图像每三秒手动和自动更改一次。
我对代码不是很满意,因为当它达到最大值并从头开始重复时,由于 setInterval,它会跳过最后一个值。有没有更简单更漂亮的方法来解决这个问题?
HTML
<div id="wrapper">
<div class="image">
<img id="image" src="http://fakeimg.pl/350x200/?text=0&font=lobster" />
</div>
<div id="slider"></div>
</div>
脚本
$(function () {
$('#slider').slider({
value: 0,
min: 0,
max: 5,
step: 1,
change: function (event, ui) {
var slideruivalue = (ui.value);
image = $('#image');
image.attr('src', 'http://fakeimg.pl/350x200/?text=' + slideruivalue);
if (slideruivalue == $(this).data("slider").options.max) {
$('#slider').slider('value', 0);
}
}
});
$(function AutoSlider() {
setTimeout(function () {
$("#slider").slider("value", $('#slider').slider("value") + 1);
}, 3000);
setTimeout(AutoSlider, 3000);
});
});
【问题讨论】:
标签: javascript jquery jquery-ui jquery-ui-slider