<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type="text/javascript"> function over(file_name) { img = document.createElement('div'); document.body.appendChild(img); img.innerHTML = '<img src='+file_name+' />'; img.style.position = 'absolute'; img.style.background = '#FFFFFF'; img.style.border = 'solid 1px #346fdc'; img.style.padding = '4px'; move(); } function move(e) { e = e || window.event if (e.pageX == null && e.clientX != null ) { var html = document.documentElement var body = document.body e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0) e.pageY = e.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0) } img.style.left = e.pageX + 15 + 'px'; img.style.top = e.pageY + 15 + 'px'; } function out() { document.body.removeChild(img); } </script> </head> <body> <div><a href="" onmouseover="over('http://javascript.ru/forum/images/ca_serenity/misc/logo.gif')" onmousemove="move(event)" onmouseout="out()">link</a></div> </body> </html> так правильнее, не забываем про пиксели + 'px';: img.style.left = e.pageX + 15 + 'px'; |
Gozar,
Огромнейшее спасибо!!!!! |
А не подскажите такое-же выражение только выполненое на Jquery ?
что-то тип такого: $(document).ready(function() { $("a").onmousemove(function() {......}) }) к сожалению незнаю как координаты на Jq узнать((((( |
ну почти так же.
$(function(){ $("a").mouseover(function(e){$(document.body).append('<div id="prev" style="position:absolute;background-color:#FFF;border:solid 1px #346fdc; padding:4px;top:'+e.pageY+15+';left:'+e.pageX+15+'"><img src="'+$(this).attr("href")+'"/></div>');}); $("a").mousemove(function(e){$("#prev").css({top:e.pageY+15,left:e.pageX+15});}); $("a").mouseout(function(){document.body.removeChild(document.getElementById("prev"));}); }); <div><a href="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif">link</a></div> <div><a href="http://img.yandex.net/i/www/logo.png">link</a></div> <div><a href="http://www.google.ru/images/logos/ps_logo2.png">link</a></div> |
Спасибище!
|
Очень удобно и кратко получилось, спасибо, но для этого способа придется пожертвовать валидностью(вводя новый атрибут) и вынести скрипт во внешний .js файл не получится, да?
если не сложно, дайте пожалуйста ссылки где почитать про $ и get |
|
На днях, подобная задача стояла, только подсказка по клику исчезала и на нее можно было переносить фокус:
<script src="http://code.jquery.com/jquery-latest.min.js"></script> <style type="text/css"> .block { position:absolute; top:20%; left: 40%; width: 200px; height: 50px; } .block img{ position: absolute; top: 20px; } </style> <script type="text/javascript"> $(function(){ $('.block').each(function(){ $(this).find('a').mouseover(function(){ $(this).next("img").length < 1 && $(this).after('<img src="'+$(this).attr('rel')+'" />'); }); $(document).click(function(e){ (e.target.nodeName != $('.block img').get(0).tagName) && $(this).find('img').remove(); }); }); }); </script> <div class="block"> <a href="#" rel="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif">link</a> </div> |
monolithed,
Вы бы ещё setTtimeout поставили. |
разобрался
|
Часовой пояс GMT +3, время: 22:59. |