【发布时间】:2011-04-03 04:09:25
【问题描述】:
我是一名平面设计师,我正在尝试使用一些出色的 jquery 脚本编写我的新作品集。我想让 jcarousel (http://sorgalla.com/projects/jcarousel/) 在鼠标悬停时停止。
感谢任何帮助。谢谢!
【问题讨论】:
标签: jquery mouseover jcarousel carousel
我是一名平面设计师,我正在尝试使用一些出色的 jquery 脚本编写我的新作品集。我想让 jcarousel (http://sorgalla.com/projects/jcarousel/) 在鼠标悬停时停止。
感谢任何帮助。谢谢!
【问题讨论】:
标签: jquery mouseover jcarousel carousel
您可以传递一个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();
}
}
【讨论】: