2016-11-23 9 views
0

私のメニューには固定クラスがあり、ボタンをクリックするとコンテナは表示されず、メニューが表示されますが、トグル効果のためにもう一度クリックするとページがトップにスクロールされますボタンがクリックされた場所と同じ場所にあるようにしたい。 menumobileactiveクラスはすべてのページをカバーしているので、絶対クラスを使ってスクロールさせるというプロパティを変更しましたが、再びコンテナが表示されると、ページの上部に表示されます。 は、コンテナは、ボタンがここ ページはトグルメニューの後にスクロールする

$("button").on("click",function(){ 
    $(this).toggleClass("menu-on"); 
    $(".menumobileactive").toggleClass("visible"); 
    $(".menu").toggleClass("absolute"); 
    $(".container").toggleClass("invisible"); 
}); 

<div class="menu"> 
    <div class="menumobile"> 
     <button> 
      <span class="line line-t"></span> 
      <span class="line line-m"></span> 
      <span class="line line-b"></span> 
     </button> 
    </div> 
    <div class="menudesktop"> 
     <ul> 
      <li><a href="">Link 1</a></li> 
      <li><a href="">Link 2</a></li> 
      <li><a href="">Link 3</a></li> 
      <li><a href="">Link 4</a></li> 
      <li><a href="">Link 5</a></li> 
     </ul> 
    </div> 
</div> 

をclikedされた同じ場所でつくれ可能性がどのようにページuploded casarossa.com.mxは、でクリックされた理由は、モバイル版、上のボタンをトグルしてみてくださいですページの終わりに、それは最初のコンテナをリセットする???

+2

もう少し詳しく説明してください。 – odedta

+0

はい、私のボタンをクリックすると、コンテナは表示されませんが、再度クリックすると表示されますが、上部にdivが表示されます。例えば、ユーザーがコンテナの中央でボタンをクリックした場合、divの先頭にないemittで再び表示されることを希望します –

+0

HTMLを含むスタックスニペットにコードを作成できますか? – Barmar

答えて

0

ことは、これを試してみてください:

$("button").on("click",function(e){ 

    //prevents from scrolling to top behavior 
    e.preventDefault(); 

    $(this).toggleClass("menu-on"); 
    $(".menumobileactive").toggleClass("visible"); 
    $(".menu").toggleClass("absolute"); 
    $(".container").toggleClass("invisible"); 
}); 
+0

このdidint仕事、ありがとう、私はそのコンテナのdiv、apers再び私のページがイメージを持っているように、私はそれを残した位置にapearsしたい、私はしたい場合は、ユーザーがボタンを切り替えるコンテナがユーザーがボタンをクリックした位置、または画像で、上部には表示されません。 –

+0

ディスプレイのみを表示するクラスは、noneです。なぜポジションが変わるのか分からない。 – Steffen

+0

見た目と消失の原因となる1行で試してください。 toggleClass( "absolute"); $( "。menu")。 私はこのラインが悪い少年であると想像することができる名前を想像することができます – Steffen

0

これが原因で、この特定の行で発生します。 $(".contenido").toggleClass("hide");

あなたがモバイルビューにしているので、基本的に、あなたは本当にただ、コンテンツを非表示にする必要はありません。新しいモバイルメニュー(開いている場合)をフルスクリーンで表示し、もう一度ボタンをクリックすると非表示にします。 メインのコンテンツを隠して戻すので、自動的に上部にスクロールします。どうして?私はjQueryがこれを本当にどうやって動かしているのか分からないので、実際には説明できませんが、その行を削除すると問題が解決されます。

関連する問題