0

したがって、以下のコードは、引数として指定された要素がビューポート/ウィンドウに完全に収まっている場合に true を返します。

要素のビットまたは 0% を超えるものがビューポートにある場合に true を返すように変更するにはどうすればよいですか?

function isElementInViewport(el){
        var rect = el.getBoundingClientRect();
        return(
            rect.top >= 0 &&
            rect.left >= 0 &&
            rect.bottom <= (window.innerHeight || document. documentElement.clientHeight) && 
            rect.right <= (window.innerWidth || document. documentElement.clientWidth)
            );
}
4

1 に答える 1

2

と を交換topbottom、 と を交換leftrightます。

function isElementInViewport(el){
    var rect = el.getBoundingClientRect();
    return rect.bottom >= 0 &&
        rect.right >= 0 &&
        rect.top <= (window.innerHeight || document. documentElement.clientHeight) && 
        rect.left <= (window.innerWidth || document. documentElement.clientWidth);
}

ここでのデモ: jsfiddle.net/w7ApB

于 2013-07-08T01:56:13.010 に答える