Наведение курсора мыши с разделениями

#html #mouseover

#HTML #наведение курсора мыши

Вопрос:

Я пытаюсь заставить этот mousever работать, но, похоже, я веду себя очень глючно во всех версиях браузера. У меня есть что-то вроде этого

 <div id="foo" onMouseOut="makeHidden('foo');"><a href="somelink">Link Text</a></div>
  

Я не хочу, чтобы div скрывался при наведении курсора мыши на ссылку, и я предположил, что этого не произойдет, потому что ссылка находится в div. Как я могу заставить div оставаться видимым до тех пор, пока мышь не покинет свою границу.

Ответ №1:

Возможно, вы захотите изучить использование jQuery http://jquery.com /
Тогда вы могли бы написать что-то вроде этого:

 $("#foo").mouseenter( function(){makeHidden('foo');} );
$("#foo").mouseleave( function(){makeVisible('foo');} );
  

Или просто вырежьте посредника

 $("#foo").mouseenter( function(){$(this).css("visibility", "hidden");} );
$("#foo").mouseleave( function(){$(this).css("visibility", "visible");} );
  

Комментарии:

1. Извините, я прочитал это задом наперед. Должен работать тот же принцип, просто поменяйте местами изменения видимости.

2. Вы просто загрузите jQuery.js с сайта разместите его там, где вам нравится, и создайте ссылку на него в своем файле с помощью чего-то вроде <script type=»text / javascript» src=»scripts/jquery.js «></script> Затем вы можете разместить приведенный выше код практически в любом месте, потому что он просто действует как обработчик событий. Я бы посоветовал добавить это во внешний файл javascript или в ваш заголовок. Убедитесь, что он находится рядом с $ (document). готовый раздел api.jquery.com/ready

3. Я помещаю вызов внутри готовой функции и включаю библиотеку, она все еще не работает 🙁

4. @MikeC С 20-м днем рождения! 🙂

Ответ №2:

С помощью необычного трюка с пузырьками. Смотрите: http://jsfiddle.net/minitech/kZcCr /

Вы хотите остановить распространение mouseout события, если оно применяется к дочерним элементам элемента, и вы также хотите отменить mouseout родительское событие, если мы переходим к одному из его дочерних элементов. Это можно сделать с помощью relatedTarget или toElement в IE.

Ответ №3:

на самом деле я не понимаю, в чем дело, возможно, этот код поможет вам

 <script type="text/javascript">
  

функция abc (mylink){

 document.getElementById('mylink').style.display = 'none';

}
  

функция abcd(mylink){

 document.getElementById('mylink').style.display = 'block';  
  

}