Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Обработка горизонтального меню при наведении курсора (https://javascript.ru/forum/dom-window/59275-obrabotka-gorizontalnogo-menyu-pri-navedenii-kursora.html)

unkind 03.11.2015 20:24

Обработка горизонтального меню при наведении курсора
 
Здравствуйте!
Написать сценарий графического горизонтального меню с появляющейся стрелкой над пунктом, у которого находится курсор.
Как можно реализовать стрелку над меню?

Капаю в эту сторону:
<html>
    <head>

	<script >

window.onload = function(){
    var rez = document.getElementsByTagname("li");
    
	//так не хочет работать,а если прописать ul свой  id  то alert отрабатывает
    
	
    rez.onmouseover = function(){
        alert('esrgsdghsd');
		
    };
    rez.onmouseout = function(){
        alert('esrgssdfdghsd');
		
    };
};
</script>
<style>
 li{display: inline-block;}
body{margin: 0 auto; text-align:center; padding:20px;}
 </style>  
    </head>
    
    <body>
        <ul >
            <li><a href="#company">О компании</a></li>
            <li><a href="#services">Услуги</a></li>
            <li><a href="#team">Сотрудники</a></li>
            <li><a href="#contacts">Контакты</a></li>
        </ul>
    </body>
</html>

рони 03.11.2015 20:27

Цитата:

Сообщение от unkind
onmouseover

rez это куча элеметов, у массива элементов нет такого свойства,
Цитата:

Сообщение от unkind
getElementsByTagname


unkind 03.11.2015 20:33

рони,
т,е я в переменную rez заношу все элементы li,а потом ловлю через onmouseover и это не верно?

unkind 03.11.2015 21:02

Пытаюсь сначала проверить отрабатывает ли мой alert
window.onload = function(){
var rez = document.getElementsByTagName("ul").getElementsByTagName("li");
   
    rez.onmouseover = function(){
        alert('esrgsdghsd');

    };
    rez.onmouseout = function(){

        alert('esrgssdfdghsd');
    };

};

Не отрабатывает :help:

Mess4me 03.11.2015 21:21

Может так будет
<html>
<head>
    <meta charset="windows-1251">
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script >
        window.onload = function () {
            var lis = document.getElementsByTagName('li');

            for (var i = 0; i < lis.length; i++) {
                var li = lis[i];
                li.onmouseout = function () {
                    alert('Out')
                };

                li.onmouseover = function () {
                    alert('Over')
                }

            }
        }
      
    </script>
    <style>
        li{display: inline-block;}
        body{margin: 0 auto; text-align:center; padding:20px;}
    </style>
</head>

<body>
<ul >
    <li><a href="#company">О компании</a></li>
    <li><a href="#services">Услуги</a></li>
    <li><a href="#team">Сотрудники</a></li>
    <li><a href="#contacts">Контакты</a></li>
</ul>
</body>
</html>

unkind 03.11.2015 21:39

Mess4me,
вместо alert('Out') как можно подставить картинку над тем элементов на котором курсор?
может так:
при наведении на элемент получить его id ,а потомвывести изображение над ним?только как...если бы html ,это ка-то понятно

рони 03.11.2015 21:54

unkind,
Speech Bubbles

unkind 03.11.2015 21:57

рони,
спасибо,а если js реализовать, в какую сторону копать?
есть картинка,которая должна показывать над тем пунктмо меню ан котором курсор

рони 03.11.2015 22:06

Цитата:

Сообщение от unkind
спасибо,а если js реализовать, в какую сторону копать?

достаточно прочитать про classList.add/remove
взяв любое оформление из ссылки выше

unkind 03.11.2015 22:11

рони,
буду разбираться,спасибо!


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