2016-11-29 10 views
0

次のコードでは、画面の幅が1000pxより大きい場合、ナビゲーションバーを切り離して別の場所に配置します。唯一のことは、このような動作は、ページを更新する場合にのみ発生することです。ウィンドウの幅に応じてサイズ変更機能をトリガーする方法

ページをトリガーまたは更新するときにNavbarを取り外すことができるように、どのようにサイズ変更機能を起動できますか?

var maximum = 1000; 
var element = $('nav#site-navigation').detach();  
if($(window).width() <= maximum) { 
    element; 
    $('header').after(element); 
} 
+2

は 'サイズを変更する()'イベントハンドラにこのコードを入れています。また、できるだけJSの代わりにレスポンシブCSSでこれを行った方がずっと良いでしょう。 –

+0

しかし、すべてをresize関数に入れても、携帯電話でサイトを開くとコードは機能しません。ページがサイズ変更されているときにのみコードが発生するためです。 – Ragmah

+0

あなたはCSSのメディアクエリを試しましたか? – Komal

答えて

0
function placeHeader(){ 
    var maximum = 1000; 
    if($(window).width() <= maximum) { 

     var element = $('nav#site-navigation').detach(); 
     $('header').after(element); 
    } 
} 
$(window).load(function(){ 
    placeHeader(); 
}); 
$(window).resize(function(){ 
    placeHeader(); 
}); 
0

再調整はMateusz Kudejコード、そこには

function placeHeader(){ 
    var maximum = 1000; 
    if($(window).width() <= maximum) { 
     var element = $('nav#site-navigation').detach(); 
     $('header').after(element); 
    } 
    if($(window).width() > maximum) { 
     var element = $('nav#site-navigation').detach(); 
     $('div.site-branding').after(element); 
    } 
} 
$(window).load(function(){ 
    placeHeader(); 
}); 
$(window).resize(function(){ 
    placeHeader(); 
}); 
関連する問題