Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.07.2012, 10:20
Новичок на форуме
Отправить личное сообщение для haxoid Посмотреть профиль Найти все сообщения от haxoid
 
Регистрация: 18.07.2012
Сообщений: 8

onmousemove не отлавливается
есть скрипт:

<script type="text/javascript"> 
  function moveTip(e) 
	{
		//alert('a');
	if(!e) e=window.event;
	//else
	/*else
	{
		var an = navigator.appName;
		var av = navigator.appVersion;
		var acn = navigator.appCodeName;
		var ua = navigator.userAgent;

		alert(an+av+acn+ua);

	}*/
	//alert(e.target);
  floatTipStyle = document.getElementById("floatTip").style;
  
  w = 250; // Ширина слоя
  // Для браузера IE
  var IE='\v'=='v';
  if (document.all) { 
    x = event.x + document.body.scrollLeft; 
    y = event.y + document.body.scrollTop; 
  // Для остальных браузеров
  } else { 
  
    x = e.pageX; 
    y = e.pageY; 
  }
  
  if ((x + w + 10) < document.body.clientWidth) { 
    floatTipStyle.left = x + 'px';
    } else
	{ 
    floatTipStyle.left = x - w + 'px';
  }
  
  floatTipStyle.top = y + 20 + 'px';
}
function toolTip(msg) {

alert('a');
  floatTipStyle = document.getElementById("floatTip").style;
  if (msg) {

    document.getElementById("floatTip").innerHTML = msg;
    floatTipStyle.display = "block"; 
  } else { 
    floatTipStyle.display = "none"; 
  } 
}
</script>


вот использование:

<img src="images/odel.jpg" alt="Фотография" width="300" height="450" 
   onmouseover="toolTip('текст')" onmouseout="toolTip()" onmousemove = "moveTip(e) " />
   <div id="floatTip"></div>


и идентификатор:

#floatTip 
	{
		position: absolute; width: 250px; display: none; 
		border: 1px solid #000; padding: 5px;
		font-family: sans-serif; font-size: 9pt;
		color: #931; background: red;
		opacity: 0.85;
		left:0;
	}


Задача: должно реализовываться движение за курсором мыши (при навидении на картинку) блока div, описанного #floatTip тут. Как только курсор вышел за границу, блок около курсора должен исчезнуть. Скрипт в принципе рабочий, проверял просто когда в документе 1 div. Но в моей ситаации наблюдается большая вложенность дивов (контент и тд). Вот почему то при этой вложенности onmouseover, onmouseout отлавилаются, но выводится див блок только под изображение, а мне надо чтоб за курсором выводился блок без остановки, а mousemove не ловится.
Подскажите че делать?

заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 18.07.2012, 12:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

haxoid,
Попробуйте добавить z-index
#floatTip 
	{
		position: absolute; width: 250px; display: none; 
		border: 1px solid #000; padding: 5px;
		font-family: sans-serif; font-size: 9pt;
		color: #931; background: red;
		opacity: 0.85;
		z-index:2000;
		left:0;
	}
Ответить с цитированием
  #3 (permalink)  
Старый 18.07.2012, 12:36
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

И второе - Нет такого объекта document.getElementById("floatTip").style
В Переменную вдалбливаете floatTipStyle = document.getElementById("floatTip")

А для задания свойств floatTipStyle.style.left = ...
floatTipStyle.style.top = ...
Ответить с цитированием
  #4 (permalink)  
Старый 18.07.2012, 13:39
Новичок на форуме
Отправить личное сообщение для haxoid Посмотреть профиль Найти все сообщения от haxoid
 
Регистрация: 18.07.2012
Сообщений: 8

к сожалению никаких изменений. Есть еще варианты?
Ответить с цитированием
  #5 (permalink)  
Старый 18.07.2012, 13:51
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от haxoid Посмотреть сообщение
к сожалению никаких изменений. Есть еще варианты?
можно mousemove на body повесить тогда ловиться будет хотя придется по другому считать
Ответить с цитированием
  #6 (permalink)  
Старый 18.07.2012, 14:16
Новичок на форуме
Отправить личное сообщение для haxoid Посмотреть профиль Найти все сообщения от haxoid
 
Регистрация: 18.07.2012
Сообщений: 8

повесил на боди - ноль реакции. Из за чего такое может быть?
Ответить с цитированием
  #7 (permalink)  
Старый 18.07.2012, 14:28
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от haxoid Посмотреть сообщение
повесил на боди - ноль реакции. Из за чего такое может быть?
а остальные события работают?
Напишите в стилях
body {height:100%}
для ие надо e.x а не event.x
в таких случаях всегда проблема что курсор то на картинке будет то на див попадет-поэтому див надо ниже курсора пикселов на 20

Последний раз редактировалось vadim5june, 18.07.2012 в 14:49.
Ответить с цитированием
  #8 (permalink)  
Старый 18.07.2012, 14:51
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от Deff
И второе - Нет такого объекта document.getElementById("floatTip").style
В Переменную вдалбливаете floatTipStyle = document.getElementById("floatTip")

А для задания свойств floatTipStyle.style.left = ...
floatTipStyle.style.top = ...
Deff,
Сущий бред
Ответить с цитированием
  #9 (permalink)  
Старый 18.07.2012, 14:51
Новичок на форуме
Отправить личное сообщение для haxoid Посмотреть профиль Найти все сообщения от haxoid
 
Регистрация: 18.07.2012
Сообщений: 8

остальные события работают в том то и дело! даже для того же дива, события onmouseover, onmouseout работают даже из боди. Движение курсора просто не отлавливается. Алерты не выводятся. Магия.
Ответить с цитированием
  #10 (permalink)  
Старый 18.07.2012, 14:59
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от haxoid Посмотреть сообщение
остальные события работают в том то и дело! даже для того же дива, события onmouseover, onmouseout работают даже из боди. Движение курсора просто не отлавливается. Алерты не выводятся. Магия.
что то с самой функцией напишите
function moveTip(e)
{alert(0)}

<body onmousemove=moveTip(event)>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
счетчик для onmousemove neWjs Events/DOM/Window 17 27.05.2012 21:04
Отловить направление onmousemove event? jsuse Общие вопросы Javascript 20 29.01.2012 22:10
Ускорение onmousemove и редеринга Ilyan Events/DOM/Window 15 23.03.2010 16:49
Конфликт iframe и обработчиков onmousemove mailman Элементы интерфейса 5 18.10.2009 08:26
обработчик onMouseMove jeel Общие вопросы Javascript 12 02.07.2009 15:22