#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';
}