diff --git a/component.json b/component.json index 451aff0..1092840 100644 --- a/component.json +++ b/component.json @@ -1,7 +1,7 @@ { "name": "tip", "description": "Tip component", - "version": "0.2.0", + "version": "0.2.4", "keywords": [ "tooltip", "tip", @@ -10,7 +10,7 @@ "dependencies": { "component/emitter": "*", "component/inherit": "*", - "component/jquery": "*" + "virtru-components/jquery": "2.1.0" }, "development": { "component/aurora-tip": "*" diff --git a/index.js b/index.js index 6555da5..4611c66 100644 --- a/index.js +++ b/index.js @@ -271,7 +271,24 @@ Tip.prototype.offset = function(pos){ var ew = el.outerWidth(); var eh = el.outerHeight(); - var to = target.offset(); + // calculate the offset, taking iFrames into account + var to = {top: 0, left: 0}; + var elem = target instanceof jQuery ? target[0] : target; + var doc = elem.ownerDocument; + var win = doc.defaultView || doc.parentWindow; + + // iterate through DOM tree and store offset values for every iframe + do { + to.top += elem.offsetTop; + to.left += elem.offsetLeft; + elem = elem.offsetParent; + + if(elem === null) { + elem = win.frameElement; + win = win.parent; + } + } while(elem); + var tw = target.outerWidth(); var th = target.outerHeight(); diff --git a/template.html b/template.html index b79d0b0..d02d870 100644 --- a/template.html +++ b/template.html @@ -1,4 +1,4 @@