jQuery UI滑块,用于使用自动幻灯片更改图像
jQuery UI Slider for changing Image with auto slide
我想构建一个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);
});
});
js小提琴示例
在 setTimeout 中,获取滑块的最大值,然后在 max+1 上用模数(运算符 %) 计算新值:
setInterval(function () {
var value = $('#slider').slider("value");
var max = $('#slider').slider( "option", "max" );
$("#slider").slider("value", (value + 1)% (max+1));
}, 3000);
然后,无需检查更改回调:)中的值
你也可以使用 setInterval 而不是两个 setTimeout
http://jsfiddle.net/q5R68/1/
相关文章:
- 我可以使此幻灯片图像自动播放吗?
- 在滑块内动态添加幻灯片图像
- 幻灯片图像在页面加载时弹出
- 来自数据库的幻灯片图像
- 如何在Javascript中用URL链接不同的幻灯片图像
- JavaScript渐变幻灯片-图像链接
- 将特定html文件上的幻灯片图像调整为移动屏幕
- 设置幻灯片图像间隔
- 如何在加载时隐藏幻灯片图像
- 背景轮播,用于在幻灯片图像中包含 DIV
- 使用nivoSlider,如何确定当前的幻灯片图像或索引
- 什么是开始使用交互式Javascript幻灯片/图像查看器的简单方法
- Jquery,添加上一个/下一个链接对幻灯片图像的效果
- 幻灯片图像可以在本地使用,但不能在我的网站上使用
- 单击幻灯片图像以强制执行一步
- 使幻灯片图像从第一个到最后
- IE8解决方案的圆角幻灯片图像
- 有没有办法保护我的幻灯片图像?
- 为什么此幻灯片图像没有't跑?这很奇怪
- jQuery幻灯片图像转换