2012-06-09 3 views
0

테이블의 항목 목록 (예 :)을 회전하려고합니다. 내가 뭘 하려는지는 첫 번째 항목을 제거하고 항목을 표의 끝에 추가하는 것입니다. 나는 첫 번째 항목을 제거 할 수 있지만 내가 어떻게 10 초마다 이것을 끊임없이 다시 할 수 있는지에 갇혀있다. 아마도 코드를 살펴보면 더 좋은 아이디어를 얻을 수 있습니다.JQuery 회전 목록

코드 :

 $num_ads = 0; 
     if (isset($ads[0])) { 
      foreach($ads as $row) { 
            ... 
            ... 
       echo '<td class="featured_ads_td" id="featured_'.$num_ads.'">'; 
            ... 
            ... 
            $num_ads++ 
          } 
        } 

그래서 내가 무슨 짓을 한 것은 내가 테이블에 고유 ID를 항목의 각을 준 것입니다. 이 경우 첫 번째 항목, featured_1 다음, featured_0 수 내 첫 번째 항목을 제거합니다 다음이 스크립트를 사용하여

<script src="/jquery-latest.min.js"></script> 
<script type="text/javascript"> 
     var ad_refresh = setInterval(function(){ 
      $('#featured_0').fadeOut('slow'); 
      $('#featured_0').attr('id','removed'); 
     }2000); 
</script> 

자바 스크립트 featured_2..etc 것입니다. 하지만 어쨌든 첫 번째 항목을 featured_0로 만들 수있게되어서 매 2 초마다 재발행 할 수 있습니까? 또는이 작업을 수행하는 더 좋은 방법이 있다면 알려 주시기 바랍니다. 자바 스크립트와 jquery에 대한 지식은 여전히 ​​매우 제한적입니다.

도움 주셔서 감사합니다. 내가 제대로 질문을 이해 않은 경우

+0

'$ ('. featured_ads_td) .attr ('id', ''는 구문 오류입니다. 선의 끝이 누락되어서 선택자가' ''가 누락 된 후 – ThiefMaster

+0

죄송합니다. 나는 다음에 넣을 것을 생각하고 있었다. 그러나 fadeOut 자체가 작동한다. 나는 어떻게 다음 ID를 바꿀 수 있는지 궁금하다. (예 : featured_1에서 featured_0로 매 2 초마다 제거 할 수있다.) – Lawrence

답변

1

것은,이 라인을 따라 뭔가 당신이 요소를 페이드 아웃하고 나머지 것들 후 배치 할 수 있습니다 :

working Fiddle 예를 참조하십시오! http://jsfiddle.net/estevao_lucas/usXba/

내가 한 유일한 것은이었다 복제 및 첫 번째 요소를 제거하고 다시 테이블에 추가 :

jQuery를

var ad_refresh = setInterval(function(){ 
    var $target = $('.featured_ads_td:first-child'); 
    $target.fadeOut('slow', function() { 
     $target.appendTo('tr').show(); 
    }); 
},2000); 
+0

환상적인 작품은 매력처럼 느껴진다. appendTo ('tr')을 내 테이블 으로 변경합니다. 그렇지 않으면 내 페이지의 모든 테이블에 추가됩니다. – Lawrence

1

@Lawrance, 당신은 같은 것을 할 수 있습니다.