Jquery jCarousel-如何使用autoscroll获得悬停暂停?
JCarousel最近发生了变化(2011年1月)。Jquery jCarousel-如何使用autoscroll获得悬停暂停?,jquery,hover,jcarousel,autoscroll,Jquery,Hover,Jcarousel,Autoscroll,JCarousel最近发生了变化(2011年1月)。 它曾经有一种方法可以通过autoscroll实现悬停时的暂停。 对于新版本,我无法解决如何使autoscroll在悬停时停止: 我希望滚动在鼠标上方停止,在鼠标离开时重新开始。 有什么建议吗? 示例代码如下- Jcarousel here:github.com/jsor/Jcarousel 链接到JQuery+javascript以在此处加载拇指-您可以在创建回调中绑定自己的悬停事件: .jcarouselAutoscroll({
它曾经有一种方法可以通过autoscroll实现悬停时的暂停。
对于新版本,我无法解决如何使autoscroll在悬停时停止:
我希望滚动在鼠标上方停止,在鼠标离开时重新开始。
有什么建议吗?
示例代码如下-
Jcarousel here:github.com/jsor/Jcarousel
链接到JQuery+javascript以在此处加载拇指-您可以在创建回调中绑定自己的悬停事件:
.jcarouselAutoscroll({
autostart: true,
interval: 1000,
scroll: '+=3',
create: $('#thumbs').bind('mouseenter', function () {
$(this).jcarouselAutoscroll('option', 'scroll', '+=0' );
}).bind('mouseleave', function () {
$(this).jcarouselAutoscroll('option', 'scroll', '+=3' );
})
});
将此代码添加到jcarousel initCallback(carousel)中
我无法让前面的示例正常工作。但我确实在最新的jcarousel上做了以下工作
$('.carousel').jcarouselAutoscroll(
{
interval: 4000,
scroll: '+=1',
create: $('.carousel').hover(function()
{
$(this).jcarouselAutoscroll('stop');
},
function()
{
$(this).jcarouselAutoscroll('start');
});
});
更新答案以保持最新 有关正确答案,请参阅:
$('.jcarousel').hover(function() {
$(this).jcarouselAutoscroll('stop');
}, function() {
$(this).jcarouselAutoscroll('start');
});
你好-谢谢你的回答。这就像是演示中的一个符咒。它将用于从Vimeo中拉出拇指并单击拇指在页面上加载视频的站点。这里的滚动也很好,视频按预期加载,滚动在mouseenter和mouseleave上启动和停止。然而:如果我停留在拇指上的时间超过了仅仅点击一次,大概是5瑞典克朗。在mouseleave(?)上,滚动停止,但不会再次开始。我在问题中包含了一个指向javascript的链接,用于加载拇指。我无法链接到测试站点,抱歉,建议将非常受欢迎。mouseleave事件是否在不按预期工作时触发?如果我在Firebug中观看滚动,我会看到滚动的节奏继续,即使拇指没有在屏幕上滚动。这在示例和站点中都有。示例代码按预期继续。然而,在网站上(从Vimeo加载拇指),我只看到一次滚动,然后就再也看不到了。(与此一致,仅当悬停未延长时才工作)。似乎必须以某种方式重新启动is…此问题已修复。请查看:@saikatbiswas82您的jcarousellite版本似乎不起作用。对于希望在jcarousellite中实现此功能的用户,请参阅尝试此操作并获取
Uncaught错误:无法在初始化之前调用jcarouselAutoscroll上的方法;试图调用方法“stop”
@Howdy_McGee您必须调用$('.carousel').jcarousel()调用$('.carousel').jcarouselAutoscroll()之前的代码>;
$('.jcarousel').hover(function() {
$(this).jcarouselAutoscroll('stop');
}, function() {
$(this).jcarouselAutoscroll('start');
});