2012-10-08 4 views
1

프로그래밍에 관해서 신참입니다. 그래서 정말로 당신의 도움이 필요합니다. 내 요구를 충족시키기 위해 일부 코드를 변경해야하며 적절한 방법으로 코드를 수행 할 수 없습니다. 지금 당장 필요한 것은이 스크립트를 가져 와서 $ (window) .width> 480 일 때 작동하게 만드는 것입니다. 또한 사용자가 창 크기를 조정할 때마다이 스크립트가 실행되어야합니다.신참 : window.onresize가 필요합니다

바보 같은 질문에 사과 하긴하지만 Javascript 및 Jquery에 대한 기본 사항을 배우기 시작한 것이므로 이번에는이 질문에 대한 답을 찾을 수 없습니다. 여기

 $(window).load(function(){ 
    (function($) { 

     $.fn.eqHeights = function() { 

      var el = $(this); 
      if (el.length > 0 && !el.data('eqHeights')) { 
       $(window).bind('resize.eqHeights', function() { 
        el.eqHeights(); 
       }); 
       el.data('eqHeights', true); 
      } 
      return el.each(function() { 
       var curHighest = 0; 
       $(this).children().each(function() { 
        var el = $(this), 
         elHeight = el.height('auto').height(); 
        if (elHeight > curHighest) { 
         curHighest = elHeight; 
        } 
       }).height(curHighest); 
      }); 
     }; 

     $('.articles_container').eqHeights(); 

    }(jQuery)); 
    }); 

답변

0

크기를 조정할 창을 실행하려면 코드, 이렇게 :

$(window).resize(function() { 
    $('.articles_container').eqHeights(); 
} 

을 또한, 당신은 자바 스크립트를 실행하려면 미디어 이벤트를 쿼리에 다음 달콤한 enquire.js를 사용 자바 스크립트 라이브러리.

+0

넬슨, 답장을 보내 주셔서 감사합니다. 스테이지 폭이 480px보다 큰 경우에만 스크립트를 실행해야합니다. 일종의 Javascript Media 쿼리 (이 두 가지 매우 다른 것들을 비교할 수 있다면)를 생각해 내고 싶습니다. 어쨌든 귀하의 제안을 구현하려했지만 성공하지는 못했습니다. 나는 초보자이기 때문에 여기서 뭔가 잘못하고있을 것입니다 ... –

+0

enquire.js 라이브러리가 도움이 될 것입니다. 업데이트 된 답변을 참조하십시오. – Nelson

0

이 창은 여전히 ​​jQuery를 통해 액세스 할 수 있다고 가정하는 .innerWidth 속성을 가지고 있습니다. 코드는 다음과 같을 수 있습니다.

$(window).resize(function() { 
    if($(window).innerWidth < 480) return; 
    $('.articles_container').eqHeights(); 
}) 
+0

@ 넬슨과 같지만 조건부로는 ... – urbananimal

+0

고맙습니다, urbananimal! 그래서, 나는 단지 [$ ('. articles_container')를 대체해야만한다 .eqHeights(); ] 거기에 쓴 코드를? –

+0

예. 그렇게해야합니다. 나는 생각한다. – urbananimal