2011-02-16 3 views
1

윈도우 크기 조정 및 초기로드 중에 JQuery 함수를 호출하려고합니다. 난 그냥 시도JQuery에서 호출 함수 - 더 좋은 방법

$(document).ready(function() { 
    $(function() { 
    var doosomething = function() { 
     $('#bottomDiv').css('top', $(window).height() - 105); 
     } 
     $(window).resize(doosomething); 
    }); 
}); 
+0

뭐가 잘못 되었나요? 그렇게하지 않으면 메소드를 선언하고 인라인 대신 이름을 사용하십시오. –

+1

'$ (document) .ready (function() {'과'$ (function() {'은 같은 것이다. –

답변

4

이 학습자를 설명해주십시오 내가 더 나은 방법이 확신이 시도

$(document).ready(function() { 
    var do_something = function() { 
    $('#bottomDiv').css('top', $(window).height() - 105); 
    } 
    $(window).resize(do_something); 
    do_something(); 
}); 

가 정확히처럼 $(function() {에 대한 귀하의 호출은, 어떤 사용이 아닌 $(document).ready(function() {과 같은 것.

3

전화 할 수 있도록 함수의 이름을 지정할 필요가 없습니다.

당신은 이런 식으로 작업을 수행 할 수 있습니다

$(function() { 
    // -----------v-----------assign the handler 
    $(window).resize(function() { 
     $('#bottomDiv').css('top', $(window).height() - 105); 
    }).resize(); 
}); 
    // ---^--- invoke the handler 
0

당신은 window.resize은 항상 신뢰할 수없는 찾을 수 있습니다. 다른 브라우저는 다른 시간에이를 호출합니다. (예를 들어, 당신이 "라이브"발생하거나 크기를 조정 중지 후 하시겠습니까?)

내가 사용하는 것이 좋습니다 것입니다 : setInterval(doosomething, 500);

또는 그런 일. 불필요한 중첩을 제외하고 코드는 훌륭합니다. 그리고 크기를 변경하기 전에 초기 호출을 수행하지 않습니다 (원하는 경우).

관련 문제