2013-08-30 27 views
0

我創建了響應式magento主題,但遇到了問題。在正常窗口大小的情況下,我的菜單位置與ipad/mobile大小不同。我想知道是否有一個jQuery命令,允許您刪除基於窗口大小的類/ div,任何幫助,將不勝感激。jQuery,響應式設計:如何根據窗口大小更改課程

這下面是我試過,但沒有奏效:

jQuery(window).resize(function() { 
     var $j = jQuery; 
     var windowwidth = $j(window).width(); 

     $j(windowwidth).onChange(function(){ 
      if (windowwidth < '148') { 
       $j('.parent').css('display','relative'); 
      } 
     }); 
    } 

無法得到的建議下面的CSS3方法jQuery的工作完美。 @media screen and(max-width:960px){}

+0

您是否嘗試了CSS媒體查詢,而不是在JavaScript中執行此操作? F.ex. http://kyleschaeffer.com/development/responsive-readingouts-using-css-media-queries/ –

回答

5

您不能將一個事件偵聽器放在一個數字上(windowwidth)。您只需要將該值與resize事件處理程序中的所需值進行比較。

resize處理程序將在每次窗口的寬度或高度改變時觸發。

您的代碼應該是這樣的:

$(window).resize(function() { 
    if ($(window).width() < 148) { 
     $('.parent').css('display','relative'); 
    } 
} 

你也應該考慮使用CSS Media Queries,而不是JS這一點。

+0

謝謝我會測試:) –

1

我建議看這個類型的工作jRespond jQuery庫。

https://github.com/ten1seven/jRespond

例如:

var jRes = jRespond([ 
     { 
      label: 'small', 
      enter: 0, 
      exit: 1000 
     },{ 
      label: 'desktop', 
      enter: 1001, 
      exit: 10000 
     } 
    ]); 


    jRes.addFunc({ 
     breakpoint: 'small', 
     enter: function() { 
      $('#sidebarbg,#sidebar,#content').removeClass('hided'); 
     }, 
     exit: function() { 
      $('.collapseBtn.top.hide').removeClass('top hide'); 
     } 
    }); 

其結合事件所定義的窗口大小來觸發編寫的函數。

+0

我會在未來看看jRespond這是我第一次做響應,所以對於下一個項目我會defo看看它。感謝您的高舉。 –

0

老的瀏覽器上工作,這工作雖然:

$(window).resize(function() { 

    var windowwidth = $(window).width(); 

    if (windowwidth < '148') { 
     $('.parent').css('display','relative'); 
     alert('see it works'); 
    } 

}); 
相關問題