Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите зафиксировать всплывающую подсказку (https://javascript.ru/forum/dom-window/32810-pomogite-zafiksirovat-vsplyvayushhuyu-podskazku.html)

Pikener 30.10.2012 22:57

Помогите зафиксировать всплывающую подсказку
 
Вот пример всплывающей подсказки Но при наведении она появляется в разных местах, а не строго над кружочком. Как "зафиксировать" её?

Вот сам код:
function showToolTip(e,text){
	if(document.all)e = event;
	
	var obj = document.getElementById('bubble_tooltip');
	var obj2 = document.getElementById('bubble_tooltip_content');
	obj2.innerHTML = text;
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX - 100;
	if(leftPos<0)leftPos = 0;
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
}	

function hideToolTip()
{
	document.getElementById('bubble_tooltip').style.display = 'none';
	
}

devote 31.10.2012 00:02

function showToolTip(e,text){
	e = e || event;

	var target = e.target || e.srcElement;

	var obj = document.getElementById('bubble_tooltip');
	var obj2 = document.getElementById('bubble_tooltip_content');
	obj2.innerHTML = text;
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX - 100;
	if(leftPos<0)leftPos = 0;

	obj.style.left = ( target.offsetLeft - obj.offsetWidth + 58 ) + "px";
	obj.style.top = ( target.offsetTop - obj.offsetHeight + 10 ) + "px";

//	obj.style.left = leftPos + 'px';
//	obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
}
но при этом родительский элемент у SPAN должен иметь значение у position либо relative либо absolute. Для других случаев придется offsetTop и offsetLeft пересчитывать.

Pikener 01.11.2012 16:42

Спасибо, теперь появляется ровно над знаком, но теперь другая проблема :( Подсказка должна появляться при наведении, а при отдалении исчезать. А она появляется при открытии страницы, а не при наведении и не исчезает

Добавлено.
А блин
function hideToolTip()
	{
	    document.getElementById('bubble_tooltip').style.display = 'none';
	     
	}

Потерял)))) devote, спасибо за помощь!


Часовой пояс GMT +3, время: 22:38.