禁用Owl Carousel中第一个和最后一个项目的反弹

时间:2015-06-24 06:37:27

标签: javascript owl-carousel

我正在使用猫头鹰旋转木马滑块。

当您到达滑块的最后一个或第一个项目时,您仍然可以拖动滑块,尽管不再有项目。相反,当您下拉本机移动应用以刷新内容时,就会出现跳出效果。

演示:(由于官方文档不再存在,链接已删除) 将滑块向右拖动它会反弹。

是否有可能禁用反弹效果?

1 个答案:

答案 0 :(得分:1)

是的,您可以停用反弹效果。我努力找到它,但我做到了。

只需删除注释 owl.carousel.js 中的此行代码:

base.newPosX = Math.max(Math.min(base.newPosX, minSwipe()), maxSwipe());
if (base.browser.support3d === true) {
    base.transition3d(base.newPosX);
} else {
    base.css2move(base.newPosX);
}


E.g。

<强> owl.carousel.js

function dragMove(event) {
    var ev = event.originalEvent || event || window.event,
    minSwipe,
    maxSwipe;

    base.newPosX = getTouches(ev).x - locals.offsetX;
    base.newPosY = getTouches(ev).y - locals.offsetY;
    base.newRelativeX = base.newPosX - locals.relativePos;

    if (typeof base.options.startDragging === "function" && locals.dragging !== true && base.newRelativeX !== 0) {
        locals.dragging = true;
        base.options.startDragging.apply(base, [base.$elem]);
    }

    if ((base.newRelativeX > 8 || base.newRelativeX < -8) && (base.browser.isTouch === true)) {
        if (ev.preventDefault !== undefined) {
            ev.preventDefault();
        } else {
            ev.returnValue = false;
        }
        locals.sliding = true;
    }

    if ((base.newPosY > 10 || base.newPosY < -10) && locals.sliding === false) {
        $(document).off("touchmove.owl");
    }

    minSwipe = function () {
        return base.newRelativeX / 5;
    };

    maxSwipe = function () {
        return base.maximumPixels + base.newRelativeX / 5;
    };

    // base.newPosX = Math.max(Math.min(base.newPosX, minSwipe()), maxSwipe());
    // if (base.browser.support3d === true) {
    //     base.transition3d(base.newPosX);
    // } else {
    //     base.css2move(base.newPosX);
    // }
}


希望它有所帮助。