2014-02-26 52 views
0

我有2個js代碼,代碼A和代碼B,我希望僅當屏幕的最大寬度爲800px時才使用代碼A.爲不同的屏幕尺寸加載不同的javascripts

而最大寬度爲400時將使用代碼B,但代碼A被禁用。 如果設備符合屏幕尺寸,是否有任何方法在它們之間切換?

代碼A:

jQuery(document).ready(function($) {$("#touchcarousel-1").touchCarousel({"pagingNavControls":true,});}); 

代碼B:

jQuery(document).ready(function($) {$("#touchcarousel-1").touchCarousel({"pagingNavControls":false,});}); 

任何幫助,將不勝感激!

+1

最簡單的解決方案:'window.screen.width> 400? codeB():codeA()' –

+0

請參閱:https://hacks.mozilla.org/2012/06/using-window-matchmedia-to-do-media-queries-in-javascript/ –

+0

此外,如果您的代碼更長的使用jquery.getScript()有條件的可能是有用的。 –

回答

2

您可以使用$(window).width();得到寬度,然後只將此主題融入一個if聲明...

if ($(window).width() > 800) { 
    // code for large viewports 
} else if ($(window).width() < 400) { 
    // code for small viewports 
} 

組合這與jQuery.getScript()如其他人所說,它應該是相當痛苦...

+0

謝謝你Dryden的幫助。我會嘗試一下。我已經添加了上面的代碼。 – user3358086

+0

我沒有運氣:(你能告訴我怎麼用jQueyr.getScript結合它,我非常感謝你的幫助,我日夜工作,但沒有希望,我添加了上面的js代碼,如果你可以請看。 – user3358086

1

發現如果你代碼駐留在兩個不同的文件,你可以使用Modernizr的/ Yepnope加載scrips。

Modernizr.load([ 
{ 
    test: Modernizr.mq('all and (max-width: 800px)'), 
    yep: '/js/CodeA.js', 
    nope: '/js/CodeB.js' 
} 

Yepnope & Modernizr screen.width Conditions