2016-02-02 41 views
0

我已經在我的網站放置在一旁帶班「左巴」的過濾器。我的網站是響應式的,我希望過濾器可以通過班級'mobile-top-bar'移動到div。jQuery的 - 通過窗口觸發兒童移動元素調整

第一個「如果」我檢查窗口尚未低於992px和當那是過濾器將被移動到「移動頂吧」的情況下(這偉大工程)

if ($(window).width() < 992) { 
    $('#moveableFilter').prependTo('.mobile-top-bar'); 
} 

隨着第二一段代碼,我做了應該移動過濾器來回的功能,但這並沒有發生。當我稍微改變了窗口的寬度(當它仍然高於992px)並且當我將它改變到992px以下時,過濾器已經從'左欄'消失了,它不存在於移動頂部欄中。

我做了什麼錯?

$(window).on('resize', function(){ 
    var win = $(this); 
    if (win.width() < 992) { 
     $('#moveableFilter').prependTo('.left-bar'); 
    } else if (win.width() >= 992) { 
     $('#moveableFilter').prependTo('.mobile-top-bar'); 
    } 
}); 
+0

出於好奇,什麼理由你不使用[CSS媒體查詢(https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries)? – jaunt

+0

並使用兩個過濾器'display:none/block;'?因爲在#moveableFilter中生成的過濾器具有相同的id。 'left-bar'和'mobile-top-bar'的第一個過濾器將具有相同的ID。 – remkovdm

回答

0

它看起來像你切換案件意外。試試這個:

$(window).on('resize', function(){ 
    var win = $(this); 
    if (win.width() >= 992) { 
     $('#moveableFilter').prependTo('.left-bar'); 
    } else if (win.width() < 992) { 
     $('#moveableFilter').prependTo('.mobile-top-bar'); 
    } 
}); 

...但是,我與說,這將是最好不要使用兩個不同的酒吧,但把它與CSS媒體查詢移動評論表示贊同。

+0

如何使用媒體查詢將子div移動到子項中? – remkovdm

+0

下面介紹如何使用媒體查詢:https://developer.mozilla.org/de/docs/Web/CSS/Media_Queries/Using_media_queries。在最大寬度:992px的媒體查詢中,您將按照.mobile-top-bar現在定位的相同方式定位.left-bar Div。如果我的答案解決了您的問題,請接受! – KWeiss

+0

jQuery代碼工作正常!謝謝!我的確切換了它。 – remkovdm