如何检测滚动到底部时,页面缩放(调整大小)
how to detect scroll to bottom when page is scaled (resized)?
我检测到滚动到底部加载一个新页面(这里是一条消息):
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.height) {
alert("scrolled to bottom");
}
};
如果我现在缩放(调整)页面的内容,例如一个图像,(在我的android 2.2上)这个函数被触发,而没有页面的底部实际上已经看到。
我尝试使用文档以外的其他属性。高度,希望它们在缩放时改变,但它们没有:
alert("1="+document.documentElement.clientHeight+
" 2="+window.innerHeight+
" 3="+window.outerHeight+
" 4="+document.body.clientHeight+
" 5="+document.body.offsetHeight+
" 6="+document.body.scrollHeight+
" 7="+document.documentElement.clientHeight+
" 8="+document.documentElement.offsetHeight+
" 9="+document.documentElement.scrollHeight);
显示相同的数字,无论页面在手机上缩放多少。
我想,我会放置一个必须传递的div,但div的位置保持不变,独立于缩放…:
var div = document.getElementById ("mydiv");
var rect = div.getBoundingClientRect ();
x = rect.left;
y = rect.top;
w = rect.right - rect.left;
h = rect.bottom - rect.top;
alert ("left: " + x + " top: " + y + " width: " + w + " height: " + h);
我如何检测,当用户真的已经滚动到底部,例如已经看到完整的图像,并进一步滚动…?
当我想在页面滚动到底部时加载更多内容时,我遇到了同样的问题。
我通过在页面底部(在最后加载的内容之后)添加一个空元素来解决这个问题,并检查它是否可见或通过以下命令:if($("#LoadIndicator")[0].getBoundingClientRect().bottom < window.innerHeight + 50)
{
//Processing...
}
LoadIndicator是元素的ID,我考虑50像素作为到页面底部的距离来加载下一个内容。
希望能有所帮助
相关文章:
- 调整缩放窗口高度提升缩放
- 使用“缩放”按比例调整全屏图像的大小;超大的“;jQuery插件
- 未注释img´除非调整浏览器大小、缩放或打开开发工具,否则不会显示
- D3.js:调整缩放示例以使用折线图
- 如何在OpenLayers中的Heatmap.js中动态调整缩放
- 如何调整chromeOptions缩放级别而不必担心需要传入此id
- 网页调整缩放显示
- 如何防止iframe在缩放时重新调整大小
- 调整脚本大小可以向上而不是向下缩放.使用行列式会使它跳跃
- 阻止Windows 8上IE中的网页缩放/调整大小
- 如果地理位置成功,请调整缩放级别
- 如何根据浏览器缩放自动调整数据表
- 在 Safari 浏览器 (iOS 7) 上,在捏合缩放下调整事件大小,仅在横向缩放中
- 谷歌地图缩放调整在初始化
- 谷歌地图缩放调整符号不起作用
- 禁用img缩放/调整大小?(如何获得“揭示效果”?)
- 如何检测滚动到底部时,页面缩放(调整大小)
- 在iframe中自动缩放(调整大小)图像
- 根据缩放调整点的大小
- 如何在javascript中缩放(调整大小)图像保持长宽比