javascript - Check if element is partially in viewport -


i'm trying determine if element partially or fully in viewport.

i've found determine if element in view kept getting confused when trying determine partial visibility. don't want use jquery.

basically, idea there element on page out of view. once user scrolls element view, partially, should trigger event. i'll handle event trigger binding onscroll event. need detection work properly.

function isinviewport(element) {     var rect = element.getboundingclientrect();     var html = document.documentelement;     return (         rect.top >= 0 &&         rect.left >= 0 &&         rect.bottom <= (window.innerheight || html.clientheight) &&         rect.right <= (window.innerwidth || html.clientwidth)     ); } 

any appreciated!

you need solution based on element.offsettop, element.offsetleft, element.offsetheight, element.offsetwidth, window.innerwidth , window.innerheight

(depending on situation, might want take scrolling position consideration)

function isinviewport(element){    if(element.offsettop<window.innerheight &&          element.offsettop>-element.offsetheight       && element.offsetleft>-element.offsetwidth       && element.offsetleft<window.innerwidth){        return true;      } else {                return false;      }  }        function test(){    alert(isinviewport(document.getelementbyid("elem"))?"yes":"no");   }
#elem{width: 20px; height: 20px; background: red; }  #elem{position: absolute;top: -9px;left: 600px;}
    <div id="elem"></div>      <button onclick="test()">check</button>


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -