2015-02-03 3 views
-2

윈도우 너비가 768px 미만인 경우에만 실행되는 jQuery를 작성하려고합니다. 다음 코드jQuery 읽기 창 너비

$(document).ready(function() { 
    if($(window).width() <= 768){ 
     $("<p>Test</p>").insertBefore("#menu-item-18 a"); 
    } 

}); 

에게이 나는이 브라우저가 < 768 브라우저를 < 768

에 크기를 조정할 때 내가 잘못 뭐하는 거지로로드되어 있는지 여부를 동작하지 않습니다 그러나? 브라우저 너비가 < 768보다 작 으면 어떻게 윈도우 너비를 인식하게하고이 jQuery를 실행할 수 있습니까? 브라우저 너비를 기반으로 jQuery를 실행하는 더 좋은 방법이 있습니까?

예 JS 바이올린 : http://jsfiddle.net/franhaselden/jotq6hwf/

편집 : 나는하지만 브라우저를 적극적으로 크기를 조정할 경우에만 때 실행 않습니다이 코드를 발견 한 더 주위를 재생하는 데. < 768에로드 된 경우 jQuery가 실행되지 않습니다.

+0

난 당신이 CSTE 연구진은 $ (창)'를 찾고 있다고 생각 (, 기능 ('크기 조정') {});' – silentw

+0

는 둘 다 필요 @silentw은 " on resize "및 창 크기가로드 될 때 사용합니다. – Francesca

+0

아무도 내가 왜 묻는 지 "불분명하다"는 이유를 설명 할 수 있습니까? 질문의 어떤 부분이 불분명합니까? – Francesca

답변

2
var w = window.innerWidth; 
var h = window.innerHeight; 

JQuery와에 대한 필요가 없습니다.

는 EventListener를 업데이트 :

if(window.attachEvent) { 
    window.attachEvent('onresize', function() { 
     alert('attachEvent - resize'); 
    }); 
} 
else if(window.addEventListener) { 
    window.addEventListener('resize', function() { 
     console.log('addEventListener - resize'); 
    }, true); 
} 
else { 
    //The browser does not support Javascript event binding 
} 
+0

브라우저의 크기가 변경되면 값이 업데이트되지 않습니다. – Francesca

0
$(function() { 
    $(window).on('resize', function() { 
     if($(window).width() >= 768){ 
      $("<p>Test</p>").insertBefore("#menu-item-18 a"); 
     } 
    }).trigger('resize'); 
}); 
+0

왜 .trigger ('resize'); –

+1

그래서'document.ready'에서 내부에서 코드를 호출하도록 resize 이벤트를 발생시킵니다 (시뮬레이션). – silentw