2013-03-04 22 views
16

Jak można wywołać tę funkcję (lub dowolną) JS w celu ponownego uruchomienia po zmianie rozmiaru okna przeglądarki?Wywołanie funkcji po zmianie rozmiaru okna

<script type="text/javascript"> 
function setEqualHeight(e) { 
    var t = 0; 
    e.each(function() { 
     currentHeight = $(this).height(); 
     if (currentHeight > t) { 
      t = currentHeight 
     } 
    }); 
    e.height(t) 
} 
$(document).ready(function() { 
    setEqualHeight($(".border")) 
}) 
</script> 

Odpowiedz

21

Można użyć zdarzenia okno onresize:

window.onresize = setEqualHeight; 
14

Możesz zapisać się na razie window.onresize (See here)

window.onresize = setEqualHeight; 

lub

window.addEventListener('resize', setEqualHeight); 
11

Używasz jquery, więc powiąż go za pomocą metody .resize().

$(window).resize(function() { 
    setEqualHeight($('#border')); 
}); 
+0

Pracował jak urok !!! Dziękuję – Si8

7

Ten fragment kodu doda zegar, który wywołuje funkcję zmiany rozmiaru po upływie 200 milisekund po zmianie rozmiaru okna. Spowoduje to zmniejszenie liczby wywołań metody.

var globalResizeTimer = null; 

$(window).resize(function() { 
    if(globalResizeTimer != null) window.clearTimeout(globalResizeTimer); 
    globalResizeTimer = window.setTimeout(function() { 
     setEqualHeight(); 
    }, 200); 
}); 
+0

duże za zmniejszenie wywołań metody – Andras

Powiązane problemy