【发布时间】:2013-01-14 22:01:02
【问题描述】:
我希望幻灯片在鼠标悬停时暂停,然后在用户将鼠标从图像上移开时重新开始。我想出了一个临时的方法,但是如果你在图像上鼠标打开和关闭的速度太快,它会导致图像的时间变得疯狂。
function theRotator() {
//Set the opacity of all images to 0
$('div.rotator ul li').css({opacity: 0.0});
//Get the first image and display it (gets set to full opacity)
$('div.rotator ul li:first').css({opacity: 1.0});
//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
setInterval('rotate()',6000);
}
function rotate() {
//Get the first image
var current = ($('div.rotator ul li.show')? $('div.rotator ul li.show') : $('div.rotator ul li:first'));
if ( current.length == 0 ) current = $('div.rotator ul li:first');
//Get next image, when it reaches the end, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));
//Set the fade in effect for the next image, the show class has higher z-index
next.css({opacity: 0.0})
.addClass('show')
.animate({opacity: 1.0}, 1000);
//Hide the current image
current.animate({opacity: 0.0}, 1000)
.removeClass('show');
};
$(document).ready(function() {
//Load the slideshow
theRotator();
$('div.rotator').fadeIn(1000);
$('div.rotator ul li').fadeIn(1000); // tweek for IE
});
【问题讨论】:
-
这不是:pleasemakemyscript.com 你试过什么?
-
大声笑我知道对不起,我对 JQuery 很陌生,这是一个学校项目。通过添加一个布尔值来使图像停止,我可以很好地暂停图像。然后我尝试再次启动相同的功能,但它甚至知道我调用了相同的功能 $('img').mouseout(function(event) { foo = true; setInterval('rotate()',myInterval) ; });
-
看看使用
stop()api.jquery.com/stop