[javascript] 크로스 브라우저 창 크기 조정 이벤트-JavaScript / jQuery

Firefox, WebKit 및 Internet Explorer 에서 작동하는 창 크기 조정 이벤트를 사용하는 올바른 (현대) 방법은 무엇입니까 ?

두 스크롤바를 모두 켜거나 끌 수 있습니까?



답변

jQuery에는이를위한 내장 메소드 가 있습니다.

$(window).resize(function () { /* do something */ });

UI의 응답 성을 위해, 당신은 영감, 다음 예에서와 같이, 단지 밀리 초 몇 개의 후 코드를 호출 할에서는 setTimeout을 사용하는 것이 좋습니다 :

function doSomething() {
    alert("I'm done resizing for the moment");
};

var resizeTimer;
$(window).resize(function() {
    clearTimeout(resizeTimer);
    resizeTimer = setTimeout(doSomething, 100);
});


답변

$(window).bind('resize', function () {

    alert('resize');

});


답변

크기 조정 이벤트를 활용하는 비 jQuery 방법은 다음과 같습니다.

window.addEventListener('resize', function(event){
  // do stuff here
});

모든 최신 브라우저에서 작동합니다. 그것은 당신을 위해 아무것도 스로틀 하지 않습니다 . 다음은 실제로 사용 되는 예 입니다.


답변

오래된 스레드를 가져 와서 죄송하지만 누군가 jQuery를 사용하지 않으려면 다음을 사용할 수 있습니다.

function foo(){....};
window.onresize=foo;


답변

jQuery에 공개되어 있으므로이 플러그인이 트릭을 수행하는 것 같습니다.


답변

jQuery 1.9.1을 사용하면 기술적으로 동일하지만 IE10에서는 작동하지 않지만 Firefox에서는 작동하지 않습니다.

// did not work in IE10
$(function() {
    $(window).resize(CmsContent.adjustSize);
});

이것은 두 브라우저에서 모두 작동했습니다.

// did work in IE10
$(function() {
    $(window).bind('resize', function() {
        CmsContent.adjustSize();
    };
});

편집 :
) * 실제로 하지 , 기술적으로 동일한 같은 지적과로 의견을 설명 WraithKenny헨리 블라이스 .


답변

jQuery$(window).resize()기본적으로 기능을 제공 합니다.

<script type="text/javascript">
// function for resize of div/span elements
var $window = $( window ),
    $rightPanelData = $( '.rightPanelData' )
    $leftPanelData = $( '.leftPanelData' );

//jQuery window resize call/event
$window.resize(function resizeScreen() {
    // console.log('window is resizing');

    // here I am resizing my div class height
    $rightPanelData.css( 'height', $window.height() - 166 );
    $leftPanelData.css ( 'height', $window.height() - 236 );
});
</script>