Listview 地铁式及;winJS:有没有办法知道元素是否在屏幕之外?

Listview 地铁式及;winJS:有没有办法知道元素是否在屏幕之外?,listview,microsoft-metro,winjs,Listview,Microsoft Metro,Winjs,在水平列表视图中-是否有可能知道某个片段是否“在”屏幕之外?因为WinJS基本上是在IE 10中运行的,所以您可以像处理常规web问题一样处理此问题。其中一些是从中国借来的 使用JQuery,您可以执行以下操作: function isScrolledIntoView(elem) { var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); v

在水平列表视图中-是否有可能知道某个片段是否“在”屏幕之外?

因为WinJS基本上是在IE 10中运行的,所以您可以像处理常规web问题一样处理此问题。其中一些是从中国借来的

使用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) );
}
函数是crolledintoview(elem)
{
var docViewTop=$(window.scrollTop();
var docViewBottom=docViewTop+$(window).height();
var elemTop=$(elem).offset().top;
var elemBottom=elemTop+$(elem).height();

return((elemBottom>=docViewTop)&&&(elemTop=docViewTop)&(elemTop谢谢你,我把它改为适合水平视图而不是垂直视图:函数iscrolledintoview(elem){var docViewLeft=$(window.scrollLeft();var docViewRight=docViewLeft+$(window.width();var elemLeft=$(elem.offset()).left;var elemRight=elemLeft+$(elem).width();return((elemRight>=docViewLeft)&&(elemLeft@Mike86感谢您的代码更新!很高兴看到您的工作!
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) );
}