Картинка в виде всплывающей подсказки
Работает в Opera, в IE и FireFox не двигается, т.е. почему-то не меняются координаты в функции move(), помогите пожалуйста разобраться
<!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>Картинка как всплывающая подсказка</title>
<script type="text/javascript">
function over(file_name)
{
par = document.getElementsByTagName('div')[0];
image = document.createElement('img');
par.appendChild(image);
image.style.position = 'absolute';
move();
image.src = file_name;
image.style.background = '#FFFFFF';
image.style.border = "solid 1px #346fdc";
image.style.padding = "4px";
}
function move()
{
image.style.left = window.event.x+window.pageXOffset+15;
image.style.top = window.event.y+window.pageYOffset+15;
}
function out()
{
par.removeChild(image);
}
</script>
</head>
<body>
<div><a href="" onmouseover="over('file_name')" onmousemove="move()" onmouseout="out()">link</a></div>
</body>
</html>
|
|
Цитата:
|
|
лиса по-прежнему отказывается работать, в опере и ие все ок
<!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
img.style.top = e.pageY + 15
}
function out()
{
document.body.removeChild(img);
}
</script>
</head>
<body>
<div><a href="" onmouseover="over('file_name')" onmousemove="move()" onmouseout="out()">link</a></div>
</body>
</html>
|
Почему не работает? У меня в ff всё работает. При наведении мыши появляется картинка, увожу исчезает. Так должно же работать?
<!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
img.style.top = e.pageY + 15
}
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()" onmouseout="out()">link</a></div>
</body>
</html>
|
она должна еще и двигаться за курсором как в опере
|
народ, помогите пожалуйста
|
все еще нужна помощь...
|
ап, кто-нибудь помогите добить скрипт, в ff и Chrome не работает, координаты не фиксируются и картинка не двигается за курсором, в остальных браузерах все нормально
|
<!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 поставили. |
разобрался
|
отличная штука.
а кто знает , как выводить в уменьшенном виде картинку и не ниже , а выше ? заранее благодарен. JS изучать начал только сейчас, а результат нужен уже сейчас :thanks: |
| Часовой пояс GMT +3, время: 19:04. |