javascript - 使用 Iscroll 重置自动滚动间隔

标签 javascript iscroll

我正在尝试使用 iScrolljs 构建一个带有轮播的页面。轮播的位置应遵循我在视频中所处的位置。这与问题无关,但我认为我应该提供尽可能多的信息。

自动滚动有效,但我也希望用户能够自行滚动。问题是,当您现在滚动每次调用间隔时,轮播都会滚动到上一个位置。我正在尝试处理清除间隔并重置它们,但它似乎不起作用。这就是我所拥有的:

    video.onplay = function(){
myScroll = new IScroll('#carWrapper',{
                scrollX: true,
                scrollY: false,
                momentum: false,
                click:true,
                mouseWheel:true,
                tap: true,
                keyBindings: true
            });

scroll();
    };

    function checkMoved(){
if(document.getElementById('carWrapper')){
        if(!scroller.moved){
                var scrollPos = (video.currentTime/video.duration)*4800;
                myScroll.scrollTo(-scrollPos,0,1000,IScroll.utils.ease.elastic);
        }
    }

if(myScroll.moved){
    clearInterval(scrollInterval);
    myScroll.moved = false;
    setTimeout(scroll(),10000);
}
    }

   function scroll(){
scrollInterval = setInterval(checkMoved,5000);
   }

提前致谢!

最佳答案

我认为浏览器没有看到scrollInterval函数checkMoved() 您必须全局声明它,然后在滚动函数中分配它

var scrollInterval;
video.onplay = function () {
    myScroll = new IScroll('#carWrapper', {
        scrollX: true,
        scrollY: false,
        momentum: false,
        click: true,
        mouseWheel: true,
        tap: true,
        keyBindings: true
    });

    scroll();
};

function checkMoved() {
    if (document.getElementById('carWrapper')) {
        if (!scroller.moved) {
            var scrollPos = (video.currentTime / video.duration) * 4800;
            myScroll.scrollTo(-scrollPos, 0, 1000, IScroll.utils.ease.elastic);
        }
    }

    if (myScroll.moved) {
        clearInterval(scrollInterval);
        myScroll.moved = false;
        setTimeout(scroll(), 10000);
    }
}

function scroll() {
    scrollInterval = setInterval(checkMoved, 5000);
}

关于javascript - 使用 Iscroll 重置自动滚动间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43864921/

相关文章:

javascript - 同一页面上的多个嵌入式 YouTube 视频

javascript - 如何从 View 中删除特定 CSS 文件的引用

javascript - Nightmare JS返回页面状态码

javascript - 访问 RedQueryBuilder 中的请求结构

javascript - iScroll 和 Blackberry 触控板问题

javascript - iScroll 5 在 Windows Phone 8 上不流畅

css - 在 durandal + phonegap 中触摸滚动

javascript - 将属性添加到另一个数组中的对象数组

jquery - 我无法在 android、ios 上滚动窗口

android - iScroll 在 Android 中不起作用,除非你改变方向并返回