2016-05-11 5 views
1

materialze.jsとfullpage.jsが連携して動作するのに問題があります。問題を示すためにここにjsfiddleがあります。 Fullpage.jsは、640pxで応答モードでジャンプするように設定されています。ノーマルモード(641px以上)では、すべてが期待どおりに動作します。レスポンシブモードでは、Slideout-Menu(materialize.js)が使用されない限り、すべての動作がうまく動作します。 Slideout-Menuを使用した後、マウススクロールが完全に停止しました。キーボードスクロールはうまく動作します。fullpage.jsとmaterialize.js;マテリアライズド・サイデナブを使用してマウス・スクロールを無効にする

jsfiddle.net

は、マークアップ

<nav id="nav"> 
    <ul id="sidenav" class="side-nav"> 
    <li data-menuanchor="a"><a href="#a">a</a></li> 
    <li data-menuanchor="b"><a href="#b">b</a></li> 
    <li data-menuanchor="c"><a href="#c">c</a></li> 
    <li data-menuanchor="d"><a href="#d">d</a></li> 
    <li data-menuanchor="e"><a href="#e">e</a></li> 
    </ul> 
    <ul id="quick-links" class="right"> 
    <li data-menuanchor="b"><a href="#b">b</a></li> 
    <li data-menuanchor="c"><a href="#c">c</a></li> 
    </ul> 
    <ul> 
    <li><a id="sidenav-toggle" data-activates="sidenav" href="#!">menu</a></li> 
    </ul> 
</nav> 

フルページのマークアップ

<div id="fullpage"> 
    <div id="sa" class="section">a</div> 
    <div id="sb" class="section">b</div> 
    <div id="sc" class="section">c</div> 
    <div id="sd" class="section">d</div> 
    <div id="se" class="section">e</div> 
</div> 

を実体参照は

JSをマテリア応答モードで210軒の
$("#sidenav-toggle").sideNav({ 
    closeOnClick: true 
}); 

フルページのjs

$('#fullpage').fullpage({ 
    menu: '#nav', 
    anchors: ['a', 'b', 'c', 'd', 'e'], 
    normalScrollElements: '#nav', 
    paddingTop: 0, 
    paddingBottom: 0, 
    responsiveWidth: 640 
}); 

答えて

0

マテリアライズメニューfullpage.jsによってis somehow removing the overflow: visible; property applied to the body element

$(document).on('click', '.drag-target', function(e) { 
    //in responsive mode? 
    if($('.fp-responsive').length){ 
     $('body').css('overflow', 'visible'); 
    } 

}); 

Reproduction online

+0

それが動作うれしい:メニューを閉じるとき

ただ、それを再度追加します。将来の視聴者があなたの問題を解決する答えを知ることができるように、回答を受け入れることを検討してください。 – Alvaro

+0

はい、それはトリックを行います。また、イベントリスナーに '#sidenav'を追加します。 '$(document).on( 'クリック'、 '.drag-target、#sidenav'、function(e){...});'ありがとう、あなたは私の一日を作った。 – netzego

+0

もちろん、私の例のように 'closeOnClick:true'オプションでマテリアルメニューを使用する場合にのみ'#sidenav'セレクタを追加する必要があります。 – netzego

関連する問題