我是一名平面设计师,我正在尝试使用一些出色的 jquery 脚本编写我的新作品集。我想让 jcarousel (http://sorgalla.com/projects/jcarousel/) 在鼠标悬停时停止。
任何帮助表示赞赏。谢谢你!
您可以传递一个initCallback
在轮播初始化后立即调用的函数。
这个函数可以解决问题: http ://groups.google.com/group/jquery-en/browse_thread/thread/f550b94914d10065
var isMouseOver = false;
$(this).mouseover(function(){
isMouseOver = true;
}).mouseout(function(){
isMouseOver = false;
});
//add by koumei-->
function go(to) {
...
...
它来自http://blog.koumei.net/2011/06/01/jcarousel-lite-mouse-hover-event-improvement/
为了更彻底地回答 Geert 的答案(顺便说一句,效果很好),
在您的设置中添加 initCallback 函数:
initCallback: function(jc, state) {
if (state == 'init') {
/* Pause carousel scrolling when a user mouses overs an item and restart the scrolling when they mouse out.
* Written by cormac at finisco dot com 19/2/2009 based on work by Jeremy Mikola:
* http://groups.google.com/group/jquery-en/browse_thread/thread/f550b94914d10065
*/
jc.startAutoOrig = jc.startAuto;
jc.startAuto = function() {
if (!jc.paused) {
jc.startAutoOrig();
}
}
jc.pause = function() {
jc.paused = true;
jc.stopAuto();
};
jc.play = function() {
jc.paused = false;
jc.startAuto();
};
$('li.jcarousel-item').mouseover(function() {
jc.pause();
});
$('li.jcarousel-item').mouseout(function() {
jc.play();
});
};
jc.play();
},
以下功能可能对停止动画有用
itemLoadCallback: {
onBeforeAnimation: function(jc,state){
jc.lock();
}
}