знаю что не хорошо целиком давать ответ , но все же
<style type="text/css">
#help {
display: block;
display: none;
position: absolute;
z-index:100;
padding:5px;
margin:5px;
border:1px solid black;
background-color:#f3f3f3;
}
.show_help {
text-decoration:underline
}
</style>
<div id="help"></div>
Вот у нас какой-то текст, <span class="show_help" help="<img src='http://picsdesktop.net/Springtime/560x420/PicsDesktop.net_1.jpg' alt='картинка'>" style="cursor:pointer;cursor:hand;">который</span> содержит ссылку
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></SCRIPT>
<script>
$(document).ready(function(){
$(".show_help").on({
mouseenter : function(e){
x_y(e);
var text = $(this).attr("help");
$('#help').show();
$('#help').html("").append(text);
},
mouseleave: function(){
$('#help').hide();
}
});
});
function x_y(e){
floatTipStyle = document.getElementById('help').style;
if (document.all) {
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
} else {
x = e.pageX;
y = e.pageY;
}
if ((x+320) < $(window).width()) {
floatTipStyle.left = x + 30 + 'px';
} else {
floatTipStyle.left = x - 250 + 'px';
}
var scrollHeight = document.documentElement.scrollHeight;
var clientHeight = document.documentElement.clientHeight;
scrollHeight = Math.max(scrollHeight, clientHeight);
if ((y + 100) < scrollHeight) {
floatTipStyle.top = y + 'px';
} else {
floatTipStyle.top = y - 100 + 'px';
}
}
</script>
Если кто подскажет, как это написать на чистом JS буду очень благодарен.