1

我有一个小问题,我认为一切都很好,示例在这里:“Partneriai”页面底部的链接。这个想法是,当鼠标悬停在下一个和上一个按钮上时,将速度(持续时间)设置得更快一些,而当鼠标移出时,将速度持续时间设置为正常(默认)。

一切正常,但问题是:需要等待一个项目从 div 滑过,然后设置持续时间的配置。当鼠标悬停时,我需要立即,下一个,上一个按钮并设置这些配置。我找不到问题。

我的代码:

$(".sponsors-slider-slide").carouFredSel({
    scroll: {
        items: 1,
        duration: 2000,
        queue: true,
        timeoutDuration: 0,
        easing: "linear",
        pauseOnHover: "immediate-resume",
        fx: "scroll"
    },
    responsive: false,
    circular: true,
    infinite: false,
    swipe: {
        onTouch: true,
        onMouse: true
    },
    width: "variable",
    height: "variable",
    items: {
        visible: 4,
        minimum: 0,
        width: "variable",
        height: "variable"
    },
    align: false,
    debug: false
});

以及下一个按钮的示例:

$("#sponsors-slider-next").on("mouseover mouseout", function(e){

    if(e.type == "mouseover")
    {

        $(".sponsors-slider-slide").trigger("configuration", ["direction", "left"]);
        $(".sponsors-slider-slide").trigger("configuration", ["scroll.duration", 1000, true]);

    }

    if(e.type == "mouseout")
    {
        $(".sponsors-slider-slide").trigger("configuration", ["direction", "left"]);
        $(".sponsors-slider-slide").trigger("configuration", ["scroll.duration", 2500, true]);
    }



    return false;
});

问题是,当鼠标悬停在下一个按钮上时如何设置 scroll.duration ,而不是在轮播完成幻灯片时设置?

谢谢指教。

4

1 回答 1

10

必须先完成转换,然后才能更改配置。要立即完成过渡,请触发完成事件。

$(".sponsors-slider-slide").trigger('finish');

根据其他设置,这可能会使它看起来有点“故障”,但至少不会给人留下按钮不起作用的印象。

顺便说一句,链接多个方法而不是重复选择器会更有效:

$(".sponsors-slider-slide")
    .trigger("finish")
    .trigger("configuration", {
        direction: "left",
        scroll: {
            duration: 1000
        },
        reInit: true //not sure that you need this
    });
于 2013-11-23T19:23:19.060 回答