仅滚动一次执行触发功能

时间:2018-02-06 12:03:38

标签: javascript jquery

当用户向下滚动700px时,我需要在滚动时触发click事件。这是我的代码:

$(window).scroll(function(){
   playVideo();
});

function playVideo() {
    var wScroll = $(window).scrollTop();

    if (wScroll > 700) {
        $(".video a").trigger("click");
    }
}

问题在于它无法触发。我尝试使用滚动来one(),但它只在trigger("click")上需要时使用滚动。请帮忙。

2 个答案:

答案 0 :(得分:1)

只需取消绑定触发位置:

$(window).on("scroll", playVideo);


function playVideo() {
    var wScroll = $(window).scrollTop();
    if (wScroll > 700) {
        $(".video a").trigger("click");
        $(window).off("scroll", playVideo);
    }
}

(请注意,您不需要在另一个函数中包装playVideo

答案 1 :(得分:-1)

        dates.ForEach(date =>
        {
            predicate = predicate.Or(s => DbFunctions.DiffMonths(date, s.Report_Date) == 0);
        });