水平方向の listView で、特定のフラグメントが画面の「外側」にあるかどうかを知ることは可能ですか?
質問する
298 次
1 に答える
3
WinJSは基本的にIE10で実行されているため、通常の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) );
}
純粋な「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 に答える