Я хочу активировать пункт меню, когда я доберусь до соответствующего раздела. Меня вдохновил этот предыдущий вопрос SO: Change Active Menu Item on Page Scroll?.Изменить элемент активного меню на странице прокрутки?
но разница в том, что в моем меню у меня есть небольшое изображение по каждому пункту меню, которое отображается только в том случае, если я нахожу элемент меню и скрывается, когда этого не делают.
HTML
<nav>
<ul id="pics">
<a href="#def"><li id="text-what"><img src="images/what.png" id="pic-what" class="vishid"><p>item1</p></li></a>
<a href="#program"><li id="text-training"><img src="images/training.png" id="pic-training" class="vishid"><p>item2</p></li></a>
<a href="#testi"><li id="text-testi"><img src="images/trait.png" id="pic-testi" class="vishid"><p>item3</p></li></a>
<a href="#contact"><li id="text-contact"><img src="images/contact.gif" id="pic-contact" class="vishid"><p>item4</p></li></a>
</ul>
</nav>
CSS
.vishid{
visibility: hidden;
}
.visvis{
visibility:visible;
}
JAVASCRIPT (показать и скрыть изображения при наведении курсора на элементы)
$(document).ready(function(){
$("#text-what").hover(function(){
$("#pic-what").addClass('visvis');
},function(){
$("#pic-what").removeClass('visvis');
});
$("#text-training").hover(function(){
$("#pic-training").addClass('visvis');
},function(){
$("#pic-training").removeClass('visvis');
});
$("#text-testi").hover(function(){
$("#pic-testi").addClass('visvis');
},function(){
$("#pic-testi").removeClass('visvis');
});
$("#text-contact").hover(function(){
$("#pic-contact").addClass('visvis');
},function(){
$("#pic-contact").removeClass('visvis');
});
});
Я хочу показать изображение, когда я на это соответствующее раздел. Как я могу сделать это с помощью javascript?
вы можете попробовать использовать этот плагин https://github.com/protonet/jquery.inview, то вы можете добавить свои функции там, если данный элемент InView – caramba
здесь является ответом http://stackoverflow.com/questions/9979827/change-active-menu-item-on-page-scroll –