尝试使用 javascript 在特定滚动高度上触发事件
Trying to trigger event on certain scroll height using javascript
var amount = document.getElementsByClassName("cart-total-qty")[0].innerHTML;
console.log(amount);
var body = document.body,
html = document.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight );
var tenPercent = height*.9
window.addEventListener("scroll", function() {
scrollAmount = window.scrollY;
if(scrollAmount == tenPercent){
alert("It's happening (Insert Ron Paul)");
}
});
在上面的代码中,我使用我在这里找到的示例来获取页面的高度:如何使用 JavaScript 获取整个文档的高度?
然后,一旦用户滚动到页面的底部 10%,我就会尝试触发一个事件。问题是scrollAmount
永远不会达到height
的10%以内
在我的示例中,height
返回为 1280,scrollAmount
滚动时永远不会返回高于 1040 的返回,但奇怪的是,如果我更改浏览器的高度,当我滚动到底部时,我会得到不同的结果scrollAmount
。
首先,预计scrollAmount
将返回一个明显低于文档内容高度的值。如果你仔细观察,它的最大值实际上是(内容高度 - 窗口高度)。可以这样想:假设您的内容仅比可用窗口高度长一个像素,在这种情况下,最大scrollAmount
应该是多少?我希望它是 1。因此,请将tenPercent = height*.9
替换为tenPercent = (height-window.innerHeight)*.9
其次,您以 100px 左右的步长滚动。当然,可能存在一些动画,但是事件不会针对每个可能的scrollAmount
值不断触发。在滚动过程中,scrollAmount
不太可能完全等于 tenPercent
.因此,请将scrollAmount == tenPercent
替换为scrollAmount > tenPercent
相关文章:
- 固定位置侧边栏不滚动-设置内容的高度
- JS/CSS:如何在向下滚动超过1200像素(高度)后更改z索引值
- 我需要帮助弄清楚一旦窗口的垂直高度被滚动,如何切换一个元素
- 当canvas's的高度超过屏幕's的高度(当滚动条出现时)
- 3 行布局,100% 高度:1 自动,1 自动滚动,1 固定
- 我能滚动浏览一个元素吗;高度=自动&”;
- JQuery查询滚动长度/高度
- 在没有滚动条的情况下,使整个页面滚动到顶部某个高度以下
- 如何“;“修复”;显示滚动条时的容器元素高度
- 获取占x滚动条高度的窗口内部高度
- 页脚在滚动底部时没有设置高度动画
- 当元素高度不够时,如何强制滚动
- text区域高度请求滚动高度流问题
- 我想比较滚动条的高度和文档的高度
- 无限滚动,滚动条高度恒定
- CSS:为什么我有一个100%高度的滚动条
- JQuery:手风琴高度样式:填充导致垂直滚动条
- JS按高度滚动页面到位置
- 有没有办法使背景图像自动宽度,全高,高度滚动,无宽度滚动
- 添加'X'视口高度滚动的数量