2011-09-05 2 views
15

jquery로 창 크기를 확인하고 다른 해상도를 기반으로 배경 이미지를 변경하고 싶습니다. 그래서 나는 어떻게 든 더 많은 경우에 대해 "switch"문을 사용하려고 생각하고 있었지만 이것이 어떻게 생겼는지 모르겠습니다. 이것은 내가 원하는 더 많은 옵션이있는 기본 구조입니다 :창 크기를 감지 한 다음 jquery switch 문을 사용하여 작업을 수행하는 방법

if ((screen.width>=1024) && (screen.height>=768)) { 
//do something 
} 
else { 
//do something else 
} 

당신의 도움에 감사드립니다.

$(window).width(); // returns width of browser viewport 
$(document).width(); // returns width of HTML document 

$(window).height(); // returns heightof browser viewport 
$(document).height(); // returns height of HTML document 

을 그리고 당신은 할 수 :

답변

1

switch 문은 당신이 좋아하는 물건을 할 수 있도록하지 않습니다 스위치 문은이 경우에 당신이 할 수있는 다중 비교가 있기 때문에 더 유용 찾을 경우 ... 다른 표기법 단지 다른 방법입니다 특정 값 사이의 숫자를 확인하면 여러 변수를 확인할 수 없게됩니다 ...

이 특정 시나리오의 경우 가장 적합하다고 생각하는 것이 실제로는 if-elseif 문과 같은 것입니다. 이미 당신의 길을 가고 있습니다.

switch(windowWidth) { 
    case 1: 
    case 2: 
    case 3: 
    case 4: 
    case 5: 
     //Do something if value is less than or equal to 5 
     break; 
    case 6: 
    case 7: 
    case 8: 
    case 9: 
    case 10: 
     //Do something if value is higher than 5 AND less than or equal to 10 
     break; 
    ... 
    ... 
} 
+0

업데이트했습니다. 예, 당신의 오른쪽 @peirix, 나는 당신이 스위치 선언문에 대해 확신한다고 생각합니다. 그러나 어떻게 든 그것을 구현하고 싶습니다. 예를 들어 화면 너비 만 확인하고 그 경우 일치하는 경우 다음 무언가 ...하지만 난 것입니다 - elseif –

+0

당신이 뭔가를 이렇게하면 범위를 전환 할 수 있습니다 : switch (true) {case windowWidth> = 1 && windowWidth <= 5 : break; case windowWidth> = 6 && windowWidth <= 10 : break; } – hdctambien

38

당신은 사용해야

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

if ((width >= 1024 ) && (height>=768)) { 
//do something 
} 
else { 
//do something else 
} 

편집 - 난 스위치 문을 사용하는 것이이 경우에 유용하다고 생각하지 않습니다.

if ((width >= 1280) && (height>=1024)) { 
//do something 
} 
else if ((width >= 1024 ) && (height>=768)){ 
//do something else 
} else if ((width >= 800) && (height>=600)){ 
//do something else 
}else{ 
//do something else 
} 
+0

감사 @Nicola Peluchetti하지만 난 스위치 문을 같은 많은 경우를 싶습니다 switch에서 "범위 확인"이렇게하려면

정말 장황. –

+0

나는 내 대답을 –