我有自己的图库代码,如:
// Gallery
$(function() {
var images = $('#gallery ul li img');
var next = 0;
var timer;
var delay = 5000;
images.click(function() {
if($(this).hasClass('current')) return false; // Prevent from re-showing
$('#gallery ul li.current').toggleClass('current'); // Change current highlighted photo
$(this).parent().toggleClass('current'); // to $(this)
$('#gallery img#show-window').attr('src', $(this).data('src')); // Change viewed photo
$('#gallery .panel h2').text($(this).attr('title')); // Set title
$('#gallery .panel p').text($(this).attr('alt')); // Set description
next = $.inArray(this, images) + 1;
clearTimeout(timer);
timer = setTimeout(function() {
images[next % images.length].click();
}, delay);
});
images[0].click();
});
如果我在Chromium上运行它(Arch Linux 15.0.874.121(Build 0 Linux)),那么在我点击任何一个图库预览之前它就不会显示图像,即使这样它也不会在5s之后更改为下一张图片。它适用于Firefox 8.0和Opera 11.52。
答案 0 :(得分:1)
您是否尝试过“doTimeout”功能?
$.doTimeout( 'someid', 1000, function( state ){
.alert( state ); // alert true in 1 second
.}, true);
答案 1 :(得分:0)
也许只是我,但是当你使用setInterval以逗号方式点击下一张图片时,使用setTimeout执行此操作似乎有点多余。
function nextImage()
{
// insert image selection logic here
}
$(function(){
var imgDaemon = setInterval(nextImage(), 5000);
});