2017-01-24 16 views
0

私は非常に難しいクライアントを持っていますが、ユーザーがページをスクロールするときにjqueryのトグルが閉じると、ユーザーがページを閉じるときに自動的に開いたり閉じたりする必要はありません。スクロールで閉じるjqueryの切り替え?

これは可能でしょうか?私のjqueryのは、私はそれをすることは可能であろう.... 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>

...非常に単純ですスクロールでtoggle_switch.htmlを使用すると、ユーザーが1/3ページをダウンしたときに非表示になります。

+0

重複フラグは無視してください。あなたがスクロールしてトグルを閉じたいと思ったら、私は[this]を見ています(http://stackoverflow.com/questions/21561480/trigger-event-when-user-scroll-to-specific-element)。 -with-jquery)答え。 –

+0

あなたはページのスクロールイベントを聞き取り、onScrollのときにトグル(false)を呼び出しましたか? – blenzcoffee

+0

hmm私は@blenzコーヒーを持っていない、それは良いアイデアかもしれない...あなたはおそらくリンク/例を提供することができますか?私はこのサイトのようなスティッキーヘッダーを使って何かをしてきました: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のものの上に置いていますか? $( '。nav-toggle2')。toggle( 'false'); }); //これは、非表示のトグルロジックで置き換えることができます。 – Mixmastermiike

関連する問題