All files / addon/utils/extensions jquery.js

21.43% Statements 3/14
14.29% Branches 2/14
50% Functions 1/2
21.43% Lines 3/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30      2x 1x     1x                                            
import $ from 'jquery';
 
export default function checkInView() {
  if ($.fn.checkInView) {
    return;
  }
 
  $.fn.checkInView = function(partial = false) {
    const elem = this;
 
    if (!elem.length) {
      return false;
    }
 
    const container = elem.parent();
 
    const contHeight = container.height();
 
    container.scrollTop();
 
    const elemTop = elem.offset().top - container.offset().top;
    const elemBottom = elemTop + elem.height();
 
    const isTotal = elemTop >= 0 && elemBottom <= contHeight;
    const isPart = (elemTop < 0 && elemBottom > 0  || elemTop > 0 && elemTop <= container.height()) && partial;
 
    return  isTotal  || isPart;
  };
}