JCarousel和Cufon没有合作:动画让cufon消失了

时间:2010-11-12 00:07:42

标签: jquery animation jcarousel cufon

我正在使用cufon和jCarousel。

旋转木马有五个项目,从右到左旋转 - 换句话说,它们离开屏幕左侧。你可以在这里看到它。

http://www.foursquare.org/site/test

如果我将旋转木马置于默认行为状态,它将转到第5张幻灯片,然后快速向右滑动,一切都正常显示。

如果我将旋转木马设置为'圆形',则第一次旋转后,cufon标题会消失;即,当第一张幻灯片附加到最后一张幻灯片的右侧时,它们不会与幻灯片的其余部分一起出现。

你知道我能做些什么来让jCarousel和Cufon合作或沟通,以便头条新闻在这种情况下不会消失吗?

TTFN 特拉维斯

5 个答案:

答案 0 :(得分:2)

如果您的jcarousel自动旋转,则需要将Cufon.Refresh()附加到动画功能。

对于我们的轮播,我们在jcarousel上使用了'itemVisibleOutCallback'参数,并将Cufon.Refresh()附加到'onAfterAnimation'调用。

以下是一个例子:

jQuery('#myCarousel').jcarousel({
        scroll: 1,
        wrap: 'circular',
        animation: 1500,
        auto: 7,
        itemVisibleOutCallback: {
            onBeforeAnimation: carouselAnimateStart
        }
    });

function carouselAnimateStart(){
    Cufon.refresh();
}

亚历

答案 1 :(得分:1)

我遇到了一个coda-slider的变种问题。似乎对我有用,而不是使用

visibility:hidden

我用过

display:none

display:block 

透露。

答案 2 :(得分:0)

我最终做的是每次轮播移动到下一个项目时,我调用了Cufon.replace函数,以便重新呈现相关文本的cufon。

即。

$(document).ready(function(){
  $j('.jcarousel-prev').click(function(e){
    Cufon.replace('li.jcarousel-item h3');
  });
  $j('.jcarousel-next').click(function(e){
    Cufon.replace('li.jcarousel-item h3');
  });
});

但是,我在IE中的jCarousel有自己的问题,它似乎在我使用上面的jQuery代码的隐藏轮播项目上双重写了cufon。 如果有人遇到并解决了这个问题,那将非常有帮助。如果我事先找到了解决方案,我会在这里发帖:)

答案 3 :(得分:0)

在jCarousel lite 中,我使用以下代码:

beforeStart: function() {

    Cufon.refresh();

},
afterEnd: function() {

    Cufon.refresh();            

}

现在看起来很有待处理 - 但我还没有,只在Mac上用Firefox测试过。谢谢你的帖子。它帮助了我,我希望这可以帮助其他人。

干杯, 迈克尔。

答案 4 :(得分:0)

Alex有个好主意,但是你无法在每个itemVisibleOutCallback刷新你所有的cufon对象。 这会给你带来什么样的懒散。

再次思考,点击" next"按钮和Cufon刷新了在页面加载时转换的每个元素 - 然后某些浏览器可能会遇到问题。

因此,正确的解决方案是仅替换特定元素,您可以这样做:

$("#carousel").jcarousel({
    itemVisibleOutCallback: {
        onBeforeAnimation: function() {
            Cufon.replace("#carousel h2, #carousel li > div > a", {fontFamily: 'YourFont', hover: true});
        }
    }
});