Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   автоматическое появление текста, а мне надо чтоб при наведении (https://javascript.ru/forum/dom-window/21285-avtomaticheskoe-poyavlenie-teksta-mne-nado-chtob-pri-navedenii.html)

Александр х@к 03.09.2011 20:37

автоматическое появление текста, а мне надо чтоб при наведении
 
<!DOCTYPE HTML>
<html>
<body>
<script type="text/javascript">    var time_reserve = 2000; // время, через которое появляется
    var x_space = 0; // расстояние от курсора по x
    var y_space = 10; // расстояние от курсора по y
    window.onload = function() {
        var tooltip = document.getElementById("tooltip");
        window.setTimeout(function(){
            document.body.onmousemove = function(e) {
                tooltip.style.left = (e ? e.pageX : event.clientX + document.body.scrollLeft) + x_space;
                tooltip.style.top = (e ? e.pageY : event.clientY + document.body.scrollTop) + y_space;
            }
            tooltip.style.display = 'block';
        }, time_reserve);
    }
</script>
<style type="text/css">
    #tooltip {
        background: gray;
        position: absolute;
        display: none;
    }
</style>
Сейчас отсюда вылетит птичка!
<div id="tooltip">Очевидное очевидно</div>
</body>
</html>


Код показывает текст сам через 2 сек.А мне надо чтоб появлялся при наведении как??

melky 03.09.2011 21:08

надо почитать теорию, тебе не кажется ?

спизж-й скрипт править никому не охота, кроме тебя

Kanzaki 03.09.2011 23:26

Можно попробовать так:
<html>
<body>
<script type="text/javascript">
     window.onload = function() {
        var tooltip = document.getElementById("tooltip");       
            document.body.onmousemove = function(e) {	//При движении мыши
				tooltip.style.left = e.clientX;	//Координаты мыши X
                tooltip.style.top = e.clientY+10;	//Координаты мыши Y+10
				tooltip.style.display = 'block'; //Показывать
				}
        }    
	function offmouse(){
	tooltip.style.display = 'none'; //При убирании с текста скрываем
	}
</script>
<style type="text/css">
    #tooltip {
        background: gray;
        position: absolute;
        display: none;
    }
</style>
Сейчас отсюда вылетит птичка!
<div id="tooltip" onmouseout="offmouse();">Очевидное очевидно</div> //При наведении на текст вызываем 
</body>
</html>

Однако возможны косяки

Хотя нет, кажется бред я тут написал.

yashka525 08.09.2011 20:53

Цитата:

Сообщение от Александр х@к
...ace = 10; // расстояние от курсора по y
*!*window.onload*/!* = function() {
var tooltip = document.getElementById("to...

Ну покапайтесь сами хотя бы, ведь очевидное очевидно что тут стоит событие onload, а нужно onmouseover!
Сделаете хоть что-то сами, не просто скопируйте код и "а почему не работает??".


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