luhn-generator
Version:
A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the 'modulus 10' or 'mod 10' algorithm
37 lines (30 loc) • 1.03 kB
JavaScript
/**
* Reduce an array of elements to only those that are below a 'floating' element.
* @method reduceToElementsBelowFloating
* @memberof axe.commons.dom
* @instance
* @param {Array} elements
* @param {Element} targetNode
* @returns {Array}
*/
function reduceToElementsBelowFloating(elements, targetNode) {
const floatingPositions = ['fixed', 'sticky'];
let finalElements = [];
let targetFound = false;
// Filter out elements that are temporarily floating above the target
for (let index = 0; index < elements.length; ++index) {
const currentNode = elements[index];
if (currentNode === targetNode) {
targetFound = true;
}
const style = window.getComputedStyle(currentNode);
if (!targetFound && floatingPositions.indexOf(style.position) !== -1) {
//Target was not found yet, so it must be under this floating thing (and will not always be under it)
finalElements = [];
continue;
}
finalElements.push(currentNode);
}
return finalElements;
}
export default reduceToElementsBelowFloating;