当前位置: 首页 > 知识库问答 >
问题:

如何在jQuery中正确使用鼠标滚轮和滚动事件?

那正初
2023-03-14

我的问题是:

    if( user reach the bottom of the page){
      hide element;
    }else{
      show element;
    }

我的解决方案是使用mousewheel/scroll事件处理程序来知道用户是否在移动,然后计算我是否在页面底部并隐藏或显示元素。。。

一切正常,但我有点担心

由于主线程正忙,“mousewheel”输入事件的处理延迟了123毫秒。将事件处理程序标记为“被动”以使页面更加响应。

这(我猜)是因为这个代码

 jQuery('body').on('mousewheel', function(e){

跑太多次了。

那么,我怎样才能使这段代码更有效率呢
是否有办法在滚动后运行事件?

我不想使用插件。

共有1个答案

暴英达
2023-03-14

你可以通过以下方法来实现:检查这把小提琴

    jQuery(window).on("scroll", function(){
        if($(window).scrollTop() + $(window).innerHeight() == $(document).height())
        {
            //User reached end of page
            //Hide element here
            $("span").hide();
        }
        else
        {
            //Show element here
            $("span").show();
        }
   });
 类似资料:
  • 问题内容: 有没有一种方法可以在jQuery中获取鼠标滚轮事件(而不是谈论事件)? 问题答案:

  • 问题内容: 在鼠标滚轮上滚动它执行水平滚动。 已编辑 好吧,firebug说他在用 问题答案: 看来他只是将mousewheel事件映射到滚动区域。在IE中,仅通过使用方法就非常容易-滚动水平条的量为垂直条通常滚动的量。其他浏览器不支持该方法,因此您必须随心所欲地滚动任意数量:

  • 鼠标事件是Web 开发中最常用的一类事件,毕竟鼠标还是最主要的定位设备。DOM3 级事件中定义了9 个鼠标事件,简介如下。 click:在用户单击主鼠标按钮(一般是左边的按钮)或者按下回车键时触发。这一点对确保易访问性很重要,意味着onclick 事件处理程序既可以通过键盘也可以通过鼠标执行。 dblclick:在用户双击主鼠标按钮(一般是左边的按钮)时触发。从技术上说,这个事件并不是DOM2 级

  • 我有一个JScrollPane,它的内容窗格是一个JXList。当我在列表上使用鼠标滚轮时,列表一次执行三(3)项。这也适用于表,无论行高如何。我如何改变这一点,使-无论平台-列表和表的滚动距离正好是1项?设置块增量不会削减它,因为表中的某些行具有不同的高度。

  • 本文向大家介绍解析javascript中鼠标滚轮事件,包括了解析javascript中鼠标滚轮事件的使用技巧和注意事项,需要的朋友参考一下 所有的现代浏览器都支持鼠标滚轮,并且在用户滚动滚轮时触发时间。浏览器通常使用鼠标滚轮滚动或缩放文档,但可以通过取消mousewheel事件来阻止这些默认操作。有一些互用性问题影响滚轮事件,但是编写跨平台的代码依旧可以行。除了Firefox之外的所有浏览器都支持

  • 问题内容: 我看到了启用或禁用鼠标滚轮滚动的方法。但是,有什么方法可以调整滚动速度?我认为这太慢了。不管我使窗口多大,每次单击滚动大约三个像素。我希望它远不止于此。 有任何想法吗? 问题答案: 您可以尝试以下方法: