(function (factory){ "use strict"; if (typeof define === "function" && define.amd) { define(["jquery", "./version"] , factory); } else { factory(jQuery); } } )(function ($){ "use strict"; return $.fn.scrollParent = function (includeHidden){ var position = this.css("position"), excludeStaticParent = position === "absolute", overflowRegex = includeHidden? /(auto|scroll|hidden)/: /(auto|scroll)/, scrollParent = this.parents().filter(function (){ var parent = $(this); if (excludeStaticParent && parent.css("position") === "static") { return false ; } return overflowRegex.test(parent.css("overflow") + parent.css("overflow-y") + parent.css("overflow-x")); } ).eq(0); return position === "fixed" || !_AN_Read_length("length", scrollParent)? $(this[0].ownerDocument || document): scrollParent; } ; } );