在水平 listView 中 - 是否有可能知道某个片段是否在屏幕“外部”?
问问题
298 次
1 回答
3
因为 WinJS 本质上是在 IE 10 中运行,所以您可以像处理常规 Web 问题一样处理此问题。其中一些是从 Check if element is visible after scrolling借来的
使用 JQuery,您可以执行以下操作:
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
&& (elemBottom <= docViewBottom) && (elemTop >= docViewTop) );
}
您也可以在纯“WinJS”(Internet Explorer 10 + JavaScript)中执行此操作,它看起来像:
function isScrolledIntoView(elem)
{
var docViewTop = window.pageXOffset;
var docViewBottom = docViewTop + window.innerHeight;
var elemTop = = document.getElementById(elem).offsetTop
var elemBottom = elemTop + = document.getElementById(elem).offsetHeight
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
&& (elemBottom <= docViewBottom) && (elemTop >= docViewTop) );
}
于 2012-06-20T13:38:32.677 回答