2016-05-16 8 views
1

を閉じていません。オフキャンバスはオフキャンバスメニューの外にあるトグルするためのボタンが含まれ財団6は、私は次のリンクを持っている

私のヘッダが、それは以下のようになります。

 <header class="fixed close"> 
      <div class="hamburger" data-toggle="sth"> 
       <button type="button"> 
        <span></span> 
        <span></span> 
        <span></span> 
       </button> 
       <span class="menu">Menu</span> 
      </div> 
      <div class="logo"> 
       <h1>Aldemar</h1> 
       <span>productions</span> 
      </div> 
      <span class="mail-icon float-right" data-open="contact-us"> 
      </span> 
     </header> 

私は、オフキャンバスメニューを閉じるには、次のJSを持っています:

$('.hamburger').on('click', function(e){ 
    e.preventDefault(); 
    if($('header').hasClass('close')){ 
     $('header').removeClass('close').addClass('open'); 
     $(this).find('button').toggleClass('open'); 
     $('body').addClass('block-view'); 
    } 
    else { 
     $('.off-canvas').foundation('close'); 
     $('header').removeClass('open').addClass('close'); 
     $(this).find('button').toggleClass('open'); 
     $('body').removeClass('block-view'); 
     $('#sth').foundation('close'); 
    } 
}); 

しかし、これは機能しません:$( '#sth')。foundation( 'close');それは、メニューを閉じてヘッダが戻って左にスライドしているときに、クラスoff-canvas-wrapper-innerdivはまだクラスis-off-canvas-openis-open-leftを持っているように見えますメニュー

+0

を閉じますか?そして、あなたは "sth"でなければならない要素ID属性が不足しているように見えます。 – colecmc

+0

id属性はどこにありますか?バージョン番号6は、 – Alex

+0

Id##sth'は、キャンバスを閉じるためにユーザがクリックする要素に属しています – colecmc

答えて

0

だから「データトグルは=」STH「を削除した後、」私は次のように私のjsファイルを更新しました:

$('.hamburger').on('click', function(e){ 
    e.preventDefault(); 
    if($('header').hasClass('close')){ 
     $('header').removeClass('close').addClass('open'); 
     $(this).find('button').toggleClass('open'); 
     $('body').addClass('block-view'); 
     $('#sth').foundation('open'); 
    } 
    else { 
     $('.off-canvas').foundation('close'); 
     $('header').removeClass('open').addClass('close'); 
     $(this).find('button').toggleClass('open'); 
     $('body').removeClass('block-view'); 
     $('#sth').foundation('close'); 
    } 
}); 

私は手動で開くように持っていたし、あなたがどのバージョンを使用しているメニューに

0

を閉じません。 $('header').removeClass('open').addClass('close')の後にこれらのクラスを削除してみてください。

また、ドキュメント(http://foundation.zurb.com/sites/docs/off-canvas.html)ごとにFoundation Off-Canvasクラスを設定することができれば、カスタムイベントを作成してメニューを切り替える必要はありません。

+0

これはまったく有効ではないようです:$( '。is-off-canvas-open' ).removeClass( 'is-off-canvas-open'); – Alex

関連する問題