【问题标题】:JQuery scroll event refusing to triggerJQuery滚动事件拒绝触发
【发布时间】:2017-01-29 06:10:36
【问题描述】:

当某类元素向上滚动时,我需要执行一些操作,而我正在使用 JQuery 来完成该操作。但是,无论我尝试什么,该事件都不会触发。

HTML

<div class="container-fluid article-matter" id="info-grid">
    <div class="row">
        <div class="col col-md-6 col-lg-2">
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
        </div>
        <div class="col col-md-6 col-lg-2">
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
        </div>
        <div class="col col-md-6 col-lg-2">
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
        </div>
        <div class="col col-md-6 col-lg-2">
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
        </div>
        <div class="col col-md-6 col-lg-2">
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
        </div>
        <div class="col col-md-6 col-lg-2">
            <div class="imagecontainer"><img /></div>
            <div class="imagecontainer"><img /></div>
        </div>
    </div>
</div>

JQuery(想法 1)

$('div#info-grid div.row div.col').each(function() {
    $(this).on('scroll', function(){
        console.log('test');
    });
});

JQuery(想法 2)

$('div#info-grid div.row div.col').on('scroll', function(){
    console.log('test');
});

任何输入?

【问题讨论】:

  • 您确定要“滚动”这些元素吗?喜欢 - 你需要有溢出:自动设置滚动条出现等。
  • 滚动条?我认为我不希望出现滚动条。
  • 您似乎误解了滚动事件的用途。任何元素在其内容滚动时触发滚动事件。如果你想检查你的 div 是否在你的窗口上滚动,那么你应该听由你的 div 容器触发的滚动事件,它实际上滚动(主要是窗口),并检查你的 div 位置的滚动值以触发一些其他回调.

标签: javascript jquery


【解决方案1】:

因此,除非您有实际“滚动”的内容 - 您可以监听其他事件。

类似:

$('#foo').bind('mousewheel', function(e) {
    if(e.originalEvent.wheelDelta / 120 > 0) {
        alert('up');
    } else {
        alert('down');
    }
});

您可以隐藏/更改滚动条等。

这个问题也像:Use jQuery to check mousewheel event without scrollbar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    相关资源
    最近更新 更多