function getOffset(elem) {
if (elem.getBoundingClientRect) {
return getOffsetRect(elem)
return getOffsetSum(elem)
function getOffsetSum(elem) {
top = top + parseInt(elem.offsetTop)
left = left + parseInt(elem.offsetLeft)
return {top: top, left: left}
function getOffsetRect(elem) {
var box = elem.getBoundingClientRect()
var docElem = document.documentElement
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft
var clientTop = docElem.clientTop || body.clientTop || 0
var clientLeft = docElem.clientLeft || body.clientLeft || 0
var top = box.top + scrollTop - clientTop
var left = box.left + scrollLeft - clientLeft
return { top: Math.round(top), left: Math.round(left) }
$("#ajax").on("click", function(){
$(this).parent('div').append('<img src="https://randomfio.xyz/avatars/female/M3zVMPIDSz.jpg">');
alert($(image).attr("src"));
$('body').on("mouseenter", 'img', function(){
var pos = getOffset(this);
var width = $(this).width();
var height = $(this).height();
if(width < 80 || height < 80) return false;
console.log(pos.top, pos.left);
.css({"top": pos.top, "left": pos.left})
.animate({opacity:'show'}, 200);
$('body').on("mouseleave", 'img', function(){
.animate({opacity:'hide'}, 1)