jquery按钮点击功能自动执行时间延迟
问题描述:
嗨我需要做下面的jQuery的功能,而无需点击下一步按钮。我试过很多了,但这些不工作的任何一个可以给我一个正确的方式来做到这一点,请jquery按钮点击功能自动执行时间延迟
var clickNext = $(".next_button").click(function() {
var imgWidth = $("#slider_box_01").width();
var numImgs = 16;
var count = 0;
slideId++;
if (slideId == 3) {
slideId = 0;
}
imageSlider(imgWidth, numImgs, count, slides, slideId);
});
function imageSlider(imgWidth, numImgs, count, slides, slideId) {
var animation = setInterval(function() {
var position = -1 * (count * imgWidth);
$('#slider_box_01').find('.slider_image').css('margin-left', position);
count++;
if (count == numImgs) {
count = 0;
$('#slider_box_01').find('.slider_image').css('margin-left', 0 );
$(".slider_image").attr("src", slides[slideId]);
clearInterval(animation);
}
}, 80);
此功能工作得很好,如果我点击.next_button,但我需要做的,没有点击后的任何按钮每2秒加载一次我的网页。
答
您已经在使用setInterval()
,这正是您在这里需要的。
// When document is ready.
$(function() {
// Couldn't find this variable declared anywhere in your code?
var slideId = 0;
// A function to wrap the code previously set to be executed
// on the click event.
function myFunction() {
var imgWidth = $("#slider_box_01").width();
var numImgs = 16;
var count = 0;
slideId++;
if (slideId == 3) {
slideId = 0;
}
imageSlider(imgWidth, numImgs, count, slides, slideId);
}
function imageSlider(imgWidth, numImgs, count, slides, slideId) {
var animation = setInterval(function() {
var position = -1 * (count * imgWidth);
$('#slider_box_01').find('.slider_image').css('margin-left', position);
count++;
if (count == numImgs) {
count = 0;
$('#slider_box_01').find('.slider_image').css('margin-left', 0);
$(".slider_image").attr("src", slides[slideId]);
clearInterval(animation);
}
}, 80);
}
// Call the new function every 2 seconds.
setInterval(myFunction, 2000);
});
答
而没有任何代码变化的最简单的解决方案:
setInterval(function(){
$(".next_button").click();
},2000);
+0
谢谢这也可以..但我使用波纹管之一,因为我需要一些修改谢谢。 – Rajitha 2014-09-11 05:05:30
[WindowTimers.setInterval](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setInterval ) – melancia 2014-09-10 10:43:34