diff options
author | David DeSandro <desandrocodes@gmail.com> | 2015-10-27 19:04:04 -0400 |
---|---|---|
committer | David DeSandro <desandrocodes@gmail.com> | 2015-10-27 19:04:04 -0400 |
commit | ea9b5d55c94e01f173865cf84586e700f42c9d0c (patch) | |
tree | 06dac962481ef943914ab32ef839dc9955298927 | |
parent | aed6cf060e7c5fa02fd3cde4a58ed142926a2b46 (diff) | |
download | imagesloaded-ea9b5d55c94e01f173865cf84586e700f42c9d0c.zip imagesloaded-ea9b5d55c94e01f173865cf84586e700f42c9d0c.tar.gz imagesloaded-ea9b5d55c94e01f173865cf84586e700f42c9d0c.tar.bz2 |
add addElementImages
-rw-r--r-- | imagesloaded.js | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/imagesloaded.js b/imagesloaded.js index 02bfd5c..5566401 100644 --- a/imagesloaded.js +++ b/imagesloaded.js @@ -131,26 +131,39 @@ function makeArray( obj ) { // filter & find items if we have an item selector for ( var i=0; i < this.elements.length; i++ ) { var elem = this.elements[i]; - // filter siblings - if ( elem.nodeName == 'IMG' ) { - this.addImage( elem ); - } - // find children - // no non-element nodes, #143 - var nodeType = elem.nodeType; - if ( !nodeType || !( nodeType == 1 || nodeType == 9 || nodeType == 11 ) ) { - continue; - } - var childElems = elem.querySelectorAll('img'); - // concat childElems to filterFound array - for ( var j=0; j < childElems.length; j++ ) { - var img = childElems[j]; - this.addImage( img ); - } + this.addElementImages( elem ); } }; /** + * @param {Node} element + */ + ImagesLoaded.prototype.addElementImages = function( elem ) { + // filter siblings + if ( elem.nodeName == 'IMG' ) { + this.addImage( elem ); + } + // find children + // no non-element nodes, #143 + var nodeType = elem.nodeType; + if ( !nodeType || !elementNodeTypes[ nodeType ] ) { + return; + } + var childImgs = elem.querySelectorAll('img'); + // concat childElems to filterFound array + for ( var i=0; i < childImgs.length; i++ ) { + var img = childImgs[i]; + this.addImage( img ); + } + }; + + var elementNodeTypes = { + 1: true, + 9: true, + 11: true + }; + + /** * @param {Image} img */ ImagesLoaded.prototype.addImage = function( img ) { |