问题标签 [onscroll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3733 浏览

android - Android - ListView 重复事件

在我的应用程序中,我有一个由 ArrayAdapter 支持的 ListView。在其中,我正在检测 OnScrollListener#onScroll 方法中的事件以查找列表的结尾。我注意到在手机(MyTouch)上,轨迹球和手势/触摸滚动都会触发两次事件。在模拟器上,我通过滚轮和点击和药物滚动获得相同的行为。但是在模拟器中,如果我使用向下箭头按钮滚动该事件只会触发一次。

这是代码:

如何抑制或处理这种行为?我只需要一个事件,并尽量不恢复到布尔字段等愚蠢的黑客行为。

据我所知 - 两个事件都有相同的堆栈跟踪

PS Bug 已创建

PPS 并以非常有用的回复结束The trackball and the touch screen send several motion events very rapidly. This behavior is expected.

0 投票
1 回答
5782 浏览

javascript - How to get scrollTop of page just after page onload event?

I know how to get the scrollTop of a page, I use this simple JS function (code copied around):

This works and my problem is the following: I tried to add it in the page onload event

On page load I get ZERO (which make sense), but the problem is that I get ZERO even if I scroll the page and then reload it without touching the scrollbar.

It seems like the browser does:

  1. loads page
  2. calls my GetScrolledTop() (so obviously shows ZERO)
  3. then scrolls the page to where it was before.

Do you know how to get the scolledTop after the step 3? I mean how to get the scrolledTop AFTER the browser scrolled the page? (maybe without using a timer)

0 投票
3 回答
11645 浏览

javascript - 使用 window.onscroll 事件检测页面/框架滚动

我想DIV在页面内放置一个,即使用户垂直滚动页面,它也对用户可见。

该页面在页面顶部有一个75 px很高的标题。现在,当用户位于页面顶部并且没有垂直滚动时,DIV必须将其放置在标题下方。然而,一旦用户滚动页面导致标题消失,DIV现在必须位于页面顶部(即靠近浏览器视口的顶部边缘)

我最关心的是window.onscroll浏览器对事件的支持。我检查了 QuirksMode 的兼容性(http://www.quirksmode.org/dom/events/scroll.html)。它似乎在 IE 和 Firefox 上具有不错的兼容性。然而,对 Safari 和 Chrome 的支持似乎有点古怪。这两个浏览器都是我的目标浏览器列表的一部分。

谁能告诉我该window.onscroll事件是否是检测页面/框架滚动的有效方法?还有其他建议吗?

PS我考虑过使用CSSposition: fixed规则。它接近解决方案,但DIV只是卡在一个位置,我不能让它根据航向的可见性自适应地移动。

谢谢!

0 投票
1 回答
1715 浏览

javascript - Javascript 滚动和鼠标位置

我有一个脚本,它为 onmousemove 和 onscroll 在文档正文上运行 addEventListener 以获取光标位置。onmousemove 事件可以正常工作(客户端 + 滚动),但是当发生 onscroll 事件时,clientX/Y 似乎继承了 scrollTop/Left 值(仅滚动)。有没有解决的办法?

0 投票
5 回答
241203 浏览

javascript - iPhone / iPad的javascript滚动事件?

我似乎无法在 iPad 上捕捉滚动事件。这些都不起作用,我做错了什么?

它们甚至都可以在 Windows 上的 Safari 3 上运行。window.onload=具有讽刺意味的是,如果您不介意破坏现有事件,PC 上的每个浏览器都支持。但在 iPad 上不行。

0 投票
6 回答
3261 浏览

javascript - 降低 Javascript 事件轮询的频率

如何降低 Javascript 事件轮询的频率?我关心的事件是onResizeonScroll。当有人调整浏览器大小或向下滚动时,这些事件可能每秒触发数十次。我希望这些事件每 500 毫秒发生一次,这样我就不必花费数小时优化我的事件处理程序并确保它们不会泄漏内存。

0 投票
1 回答
1547 浏览

javascript - pageY 更新 onScroll

我正在尝试在“onscroll”事件中“刷新”pageY 值。我实际上是通过计算用户滚动 (+-)X 像素时鼠标的位置来实现它的。我敢肯定有更性感的方式来做到这一点。

这是一个演示

提前致谢

附言

那没用

0 投票
1 回答
16935 浏览

javascript - onscroll 不适用于 IE

我有一个“身体” onScroll="Scroll()"。Scroll 方法应该在用户滚动页面时滚动一些 div。

滚动():

它适用于 Chrome 和 FF,但 IE 不会合作。这里有什么问题?

0 投票
5 回答
8515 浏览

javascript - 火狐scrollTop问题

我对 Firefox scrollTop 值和 onscroll 事件有疑问。这在 IE、Safari 和 Chrome 中效果很好,但 Firefox 似乎落后了。

我尝试使用 onscroll 事件更新一些背景位置,但是当我拿起手柄并快速上下拖动它时,Firefox 停止更新 scrollTop 值并导致我的应用程序出现一些延迟。

您可以尝试此代码并在拖动句柄时查看 Firefox 控制台,您将看到某些值会停止更新:

知道如何让 Firefox 响应更快吗?

0 投票
1 回答
27357 浏览

javascript - 如何在滚动上移动 div?

当用户滚动时,我必须移动一个 div,但需要使用纯 JavaScript。

position: fixed;不适用于布局。div 的原始位置是相对于其他东西的。是否有使用类似事件的简单实现onscroll,以检测页面向上或向下移动了多少像素,并相应地更改 div 的位置?

div 只需要垂直移动。因此,如果我可以检测到页面移动了多少像素,我可以将其添加或减去 div 的位置。