$(function () { 'use strict'; window.utils = window.utils || {}; window.utils.popup = { createAnimation: function () { return { show: { type: "pop", duration: 200, from: { opacity: 1, scale: 0.4 }, to: { scale: 1 } }, hide: { type: "fade", duration: 200, from: 1, to: 0 } } }, getAttachFunc: function (selectString, timerObj, position) { return function (value) { if (value) { if (timerObj.timer !== null) { clearInterval(timerObj.timer); } var top, left; var element = $(selectString).offsetParent(); position({ my: 'left top', at: 'right top', of: element }); timerObj.timer = setInterval(function () { element = $(selectString).offsetParent(); var offset = element.offset(); if (top !== offset.top || left !== offset.left) { top = offset.top; left = offset.left; position({ my: 'left top', at: 'right top', of: element }); } }, 0); } else { if (timerObj.timer !== null) { clearInterval(timerObj.timer); timerObj.timer = null; } } }; } }; });