2016-09-26 6 views
-1

条件:関数がすでに実行されているため= 800幅<で開い関数のevent.preventDefault()の後でデフォルトを有効にしますか?

  1. ユーザー、関数は、> 800に変更され、その後
  2. 実行され、そこにいくつかの効果がまだ実行されている、と私はアンカーをクリックしてくださいカント。
$(document).ready(function() { 
    function stuff(){ 
     //event.preventDefault() 
     new mlPushMenu(document.getElementById('menu'), document.getElementsByClassName('btnslick')[0], { 
      type : 'cover' 
     }); 
    }; 

    function jqUpdateSize(){ 
     var windowwidth = $(window).width(); 

     if (windowwidth <= 800){ 
      //function on 
     } else { 
      //try to stop/off function and return to default 

     } 
    }; 
    $(document).ready(jqUpdateSize); 
    $(window).resize(jqUpdateSize); 
}); 

どのように機能を停止し、デフォルトに戻すには?

新しい機能に保存してオン/オフで設定しましたが、動作しませんでしたか?

+0

のようなものですか?これらがスタイルの変更である場合、クラスを 'body'またはいずれかの適切な親要素に追加します。このクラスを' windowwidth'にしたがって切り替えることができます。 – KBN

+2

とにかくウインドウ 'load'イベントにはデフォルトのアクションはありません(また、' stuff'関数はIE特有のglobal以外のスコープ内の 'event'識別子を持っていません[IE-特定のケースだが、Firefoxはそうしない])。 –

答えて

0

は何をしようとするこの

$(document).ready(function() { 
function stuff(){ 
var windowwidth = $(window).width(); 
if (windowwidth <= 800){ 
    new mlPushMenu(document.getElementById('menu'), document.getElementsByClassName('btnslick')[0], { 
      type : 'cover' 
     }); 
} 
}; 
function jqUpdateSize(){ 
     $(window).on('load',stuff); 
}; 
$(document).ready(jqUpdateSize); 
$(window).resize(jqUpdateSize); 
}); 
関連する問題