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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 1x | /** * * Return true if the selected DOM-element found by given selector is visible and within the viewport. * * <example> :index.html <div id="notDisplayed" style="display: none"></div> <div id="notVisible" style="visibility: hidden"></div> <div id="notInViewport" style="position:absolute; left: 9999999"></div> <div id="zeroOpacity" style="opacity: 0"></div> :isDisplayedInViewport.js :isDisplayed.js it('should detect if an element is visible', () => { let isDisplayedInViewport = $('#notDisplayed').isDisplayedInViewport(); console.log(isDisplayedInViewport); // outputs: false isDisplayedInViewport = $('#notVisible').isDisplayedInViewport(); console.log(isDisplayedInViewport); // outputs: false isDisplayedInViewport = $('#notExisting').isDisplayedInViewport(); console.log(isDisplayedInViewport); // outputs: false isDisplayedInViewport = $('#notInViewport').isDisplayedInViewport(); console.log(isDisplayedInViewport); // outputs: false isDisplayedInViewport = $('#zeroOpacity').isDisplayedInViewport(); console.log(isDisplayedInViewport); // outputs: false }); * </example> * * @alias element.isDisplayedInViewport * @return {Boolean} true if element(s)* [is|are] displayed * @uses protocol/selectorExecute, protocol/timeoutsAsyncScript * @type state * */ import { ELEMENT_KEY } from '../../constants' import { getBrowserObject } from '../../utils' import isDisplayedInViewportScript from '../../scripts/isDisplayedInViewport' export default function isDisplayedInViewport () { return getBrowserObject(this).execute(isDisplayedInViewportScript, { [ELEMENT_KEY]: this.elementId, // w3c compatible ELEMENT: this.elementId // jsonwp compatible }) } |