Я хочу скрыть элемент, когда li становится активным при прокрутке

#jquery #html #css #twitter-bootstrap #show-hide

#jquery #HTML #css #twitter-bootstrap #показать-скрыть

Вопрос:

Я хочу скрыть определенный элемент, когда раздел контактов становится активным при ПРОКРУТКЕ, иначе они должны быть видны. Как я могу это сделать с помощью Jquery.

 <ul class="nav navbar-nav navbar-right navmenu">       
    <li data-menuanchor="home" class="active">
        <a href="#home"><span>HOME</span></a>
    </li>
    <li data-menuanchor="page">
        <a href="#page"><span>ABOUT US</span></a>
    </li>
    <li data-menuanchor="gallery">
        <a href="#gallery"><span>PROJECTS</span></a>
    </li>
    <li data-menuanchor="aboutus">
        <a href="#aboutus"><span>VIDEO</span></a>
    </li>
    <li data-menuanchor="contact" class="cont">
        <a href="#contact"><span>CONTACT</span></a>
    </li>
</ul>
  

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

1. Какой элемент вы не хотите скрывать?

2. <h1> Адрес</h1> Я хочу скрыть это только в разделе контактов.

Ответ №1:

Подумайте, что вы хотите скрыть раздел проектов, когда раздел контактов становится активным. Добавьте класс «proj» к классу проекта <li> .

$(функция() {

 $(".cont").click(function() {

  $(".proj").css("display","none");

});
  

});

Ответ №2:

 $(".navmenu li").click(function(){
    if($(".cont").is(":focus"){
      $(".particular element").hide();
    }
    else{
      $(".particular element").show();
    }
});
  

Ответ №3:

Вы также можете попробовать что-то подобное :

https://jsfiddle.net/tejashsoni111/8jdoLjnq/

 jQuery(".nav li a").click(function(){
    jQuery(".nav li").removeClass('active');
    var parentLi = jQuery(this).parent('li');
    parentLi.addClass('active');
    if(parentLi.data('menuanchor') == 'contact'){
        jQuery("#element").hide();
    }else{
        jQuery("#element").show();
    }
})
  

Обновить :
Вы можете добиться этого, обработав событие прокрутки. Что-то вроде этого:
https://jsfiddle.net/tejashsoni111/8jdoLjnq/1 /

 jQuery(window).scroll(function(){

    if (jQuery(".cont").hasClass('active')){
        jQuery("#element").hide();
    }else{
        jQuery("#element").show();
    }
})
  

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

1. Возможно ли выполнить действие, когда li становится активным? какой код для этого?

2. Если вы проверите скрипту, я добавил код для того, чтобы сделать li активным при прокрутке для понимания. Я не понимаю, что не работает.

3. Да, но вы установили фиксированную высоту, равную 100, после этого активируется только li. Я хочу, чтобы элемент скрывался всякий раз, когда прокрутка достигает раздела контактов

4. 100 — это просто для того, чтобы это произошло для понимания и li активации при прокрутке — это другой вопрос и не имеет ничего общего с этой логикой.

5. Это то, что вы ищете: https://jsfiddle.net/cse_tushar/Dxtyu/141 /