2017-01-24 4 views
0

У меня есть очень трудный клиент, требующий, что JQuery переключения закрывается, когда пользователь прокручивает вниз страницы, а не автоматически оставаться открытой/закрытия, когда пользователь сворачивает его ...jquery toggle, который закрывается на свитке?

бы это было возможно? Мой JQuery довольно просто ...

$(document).ready(function() { 
 
    $('.nav-toggle2').click(function() { 
 
    //get collapse content selector 
 
    var collapse_content_selector = $(this).attr('href'); 
 
    //make the collapse content to be shown or hide 
 
    var toggle_switch = $(this); 
 
    $(collapse_content_selector).toggle(function() { 
 
     if ($(this).css('display') == 'none') { 
 
     //change the button label to be 'Show' 
 
     toggle_switch.html('Contact Us'); 
 
     } else { 
 
     //change the button label to be 'Hide' 
 
     toggle_switch.html('Contact Us <'); 
 
     } 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<tag href="#contactus" class="nav-toggle2">Contact Us &lt;</tag> 
 
<div id="contactus">some content that hides/shows here</div>

Я могу обойти в JQuery, но я немного наивен, когда он Somes к интеграции новых эффектов в нее .... было бы возможно есть toggle_switch.html на прокрутке, поэтому, когда пользователь получает, возможно, 1/3 страницы вниз, он скрывается?

+0

Игнорировать символ дубликата. Выберите элемент, который при прокрутке к вам хочет, чтобы переключатель закрывался, и затем я посмотрю на [это] (http://stackoverflow.com/questions/21561480/trigger-event-when-user-scroll-to-specific-element -with-jquery). –

+0

Вы пробовали прослушивать событие прокрутки страницы и вызывать toggle (false) при onScroll? – blenzcoffee

+0

Хмм У меня нет @blenzcoffee, это может быть хорошей идеей ... можете ли вы предоставить ссылку/пример этому? Я сделал что-то вроде этого с липкими заголовками, как на этом сайте: mcadamsplumbing.com, но я не знаю, как я мог бы получить что-то подобное, чтобы «поговорить» с функцией .navtoggle2? – Mixmastermiike

ответ

0

Основываясь на ваших комментариях, вы сказали, что не пробовали прослушивать событие прокрутки. Можете ли вы попробовать это? Это будет что-то вроде этого (код не тестировался):

$(window).on("scroll", function(){ 
     // you can replace this with your hiding toggle logic 
     $('.nav-toggle2').toggle('false'); 
    }); 

Вы можете отвязать событие из окна позже, чтобы избежать утечки памяти. Справка о прокрутке: Jquery scroll api

+0

, так что в основном поставить этот скрипт над всеми файлами jquery? $ (window) .on ("scroll", function() { // вы можете заменить это на свою скрытую логику переключения $ ('. Nav-toggle2'). Toggle ('false'); }); – Mixmastermiike

 Смежные вопросы

  • Нет связанных вопросов^_^