2014-04-05 6 views
1

브라우저 화면이 1024px보다 큰 경우에만 실행하려는 자바 스크립트 함수가 있습니다.동적 자바 스크립트 함수

if ($(window).width() > 1024) { 

코드의 문제점은 사용자가 우선 브라우저 화면 800 픽셀에서 웹 페이지를로드하는 경우 단지 기능이 실행되지 1,024 개 (또는 그 이상)의 브라우저 화면을 재조정한다는 것이다. 실행하려면 화면을 새로 고침해야합니다.

수정 방법에 대한 의견이 있으십니까?

+0

'크기 변경'창을 사용하십시오. 행사. https://api.jquery.com/resize/ – tewathia

+0

이미 jQuery를 사용하고 있기 때문에 jQuery 방식으로 응답한다. 일반적으로 나는 JavaScript로만 태그가 붙어 있기 때문에 그렇지 않다. 하지만 어쨌든 ... 자바 스크립트 또는 자바 스크립트 + jQuery로 태그를 지정 하시겠습니까? 당신이 순수한 자바 스크립트 솔루션을 원한다면 나는 대답을 삭제할 것이다. – user13500

답변

0

jQuery resize

$(document).ready(function() { 
    if ($(window).width() > 1024) { 
     my_awesome_window_above1024_function(); 
    } 
}); 
$(window).resize(function() { 
    if ($(window).width() > 1024) { 
     my_awesome_window_above1024_function(); 
    } 
}); 
+0

그리고 아래로 투표했기 때문에? – user13500

+0

위대한 작품, 많이 고마워. – user3066588

+0

@ user3066588 : 대단히 환영합니다. – user13500

0

사용 : 그냥 부하에 적어도 한 번 이상 전화를 언제든지 크기 조정이 될 window.resize 이벤트를 설정하고에 플래그를 사용

$(window).resize(function() { 
    if ($(window).width() > 1024) { 

     // Your code. 
    } 
} 
+0

아래 표를 설명하는 사람은 누구입니까? – user13500

+0

위대한 작품, 많이 고마워. – user3066588

+0

@ user3066588 환영합니다. 기쁜 마음으로 도움이 될 수 있습니다. – Ani

2

그것이 한 번 이상 실행되지 않았는지 확인하십시오.

(function(){ 
    var executed = false; 
    $(window).resize(function(){ 
     if(executed) return; 
     if($(window).width()>1024){ 
     executed = true; 
     executeSomeFunc(); 
     } 
    }); 
})(); 
+0

대단히 훌륭합니다. 고맙습니다. – user3066588

0

이 같은이 한 네이티브 JS를 사용합니다 :

window.onresize=function(){ 
    if(window.innerWidth > 1024){ 
    alert('GT 1024'); 
    // Your function here 
    } 
}; 

폭 속성 innerWidth (http://www.w3schools.com/jsref/prop_win_innerheight.asp)이며, 크기 조정 기능이 정확히 무엇을 명확 (http://www.w3schools.com/jsref/event_onresize.asp)

이 아님 원하는 경우 CSS 규칙을 변경하여 CSS 미디어 쿼리 (https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries)를 사용하는 것이 더 낫습니다.