首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新参与滚动事件?

如何重新参与滚动事件?
EN

Stack Overflow用户
提问于 2014-04-24 11:55:59
回答 1查看 40关注 0票数 0

这一次,我有一个滑块,它应该运行每一次,当它是可见的,并停止当它是隐藏的(窗外)。我有所有的代码工作,但我不知道如何暂时块滚动事件。

代码:

代码语言:javascript
复制
$(window).on('scroll', function() {
    if ($('.tour-slider').visible(true)) {
        slideshow();
        $(window).off('scroll');
    }else{
        anim1.pause();
        anim2.pause();
        anim3.pause();
        $('#slider-1').siblings().hide();
    }
});

此代码工作,但只有一次,如果旅游滑块是可见的,那么滚动事件关闭,就这样。但是,我只想阻止滚动事件时,用户看到元素,旅游滑块,在其他情况下,这个事件应该再次工作。

在滚动>如果.旅游-滑块可见做关闭滚动>如果.旅游-滑块隐藏再次滚动

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-24 12:08:20

您可以添加一个标志,以了解您的动画是否已启动,并保持事件绑定。

就像这样:

代码语言:javascript
复制
var _animated = false;

var Slideshow = {
    start: function () {
        if (_animated) return;
        _animated = true;
        // start slideshow
    },
    stop: function () {
        if (!_animated) return;
        _animated = false;
        // stop animation
    }

};

$(window).on('scroll', function () {
    if ($('.tour-slider').visible(true)) {
        Slideshow.start();
    } else {
        Slideshow.stop();
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23268192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档