2016-10-19 1 views
0

($ (window) .width()를 사용하여 Jquery if else 조건을 사용하고 있습니다. 조건이 자동으로 적용되지 않고 나는 조건을 적용하려면 브라우저를 다시로드해야합니다. 내가 브라우저 크기를 조정할 때 부드러운 CSS 미디어 쿼리 모두 변화를 얻을하는 데 도움이 될 것입니다 무엇.

jQuery(document).ready(function($) { 
 

 
    if ($(window).width() < 767) { 
 
     $('p').removeClass('blue'); 
 
     $('p').addClass('green'); 
 
    } 
 
    else { 
 
     $('p').addClass('red'); 
 
     $('p').removeClass('blue'); 
 
    } 
 
    
 

 
});
.red { 
 
    color: red; 
 
} 
 

 
.green { 
 
    color: green 
 
} 
 

 
.blue { 
 
    color: blue 
 
}
<p class="blue">Hello World</p> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Fiddle

,
+1

당신은 준비 문서에 전화를보십시오. 각 크기를 변경할 때마다 확인하고 싶다면'window' resize 이벤트를 사용하십시오 ... 어쨌든'window' 너비를 확인하여 뷰포트 너비를 얻는 것은 좋지 않습니다. [window.matchMedia()] (https : // developer .mozilla.org/ko-ko/docs/Web/API/Window/matchMedia). 그리고 나중에, 당신은 그걸 위해 CSS 미디어 쿼리를 사용할 수 있습니다 ... –

답변

0

다음 코드

jQuery(document).ready(function() { 
    Responsive(); 
}); 

$(window).resize(function() { 
    Responsive(); 
}); 

function Responsive(){ 
    if ($(window).width() < 767) { 
     $('p').removeClass('blue'); 
     $('p').addClass('green'); 
    } 
    else { 
     $('p').addClass('red'); 
     $('p').removeClass('blue'); 
    } 
} 
+0

이 코드는 단 한 번만 작동합니다. 나는 다른 것을 찾고 있을지도 모른다. :) –

+0

반응 형 함수는 창 너비가 변경 될 때 호출합니다. addClass 및 removeClass 함수를 제어하십시오. $ ('p'). removeClass ('blue')가 매번 실행됩니다. 따라서 창 너비가 변경되면 P 색상이 변경되지 않습니다. @SalimHossain – selami

관련 문제