2012-06-15 4 views
2

나는 해결책을 찾기 위해 모든 곳을 보려고했지만 어떻게 제대로 수행되는지 이해할 수 없습니다. 본질적으로 데이터를 가져 오려는 XML이 있습니다. 페이지가 첫 번째 항목을로드하도록하고 싶습니다. 사용자가 앞으로 버튼을 클릭하면 XML을 반복하여 끝에 도달 할 때까지 반복합니다. 뒤로 단추도 마찬가지입니다.jQuery 배열을 통해 반복을 클릭하십시오.

$(document).ready(function(){ 
     var name = []; 
     var description = []; 
     var html_screenshot_01 = []; 
     var html_screenshot_02 = []; 
     var site_link = []; 
     var source_link = []; 
     var demo_link = []; 

     $.ajax({ 
      type: "GET", 
      url: "projects_html.xml", 
      dataType: "xml", 
      success: function(xml) { 
       $(xml).find('name').each(function(){ name.push($(this).text()); }); 
       $(xml).find('description').each(function(){ description.push($(this).text()); }); 
       $(xml).find('html_screenshot_01').each(function(){ html_screenshot_01.push($(this).text()); }); 
       $(xml).find('html_screenshot_02').each(function(){ html_screenshot_02.push($(this).text()); }); 
       $(xml).find('site_link').each(function(){ site_link.push($(this).text()); }); 
       $(xml).find('source_link').each(function(){ source_link.push($(this).text()); }); 
       $(xml).find('demo_link').each(function(){ demo_link.push($(this).text()); });     

       $(xml).find('projects').each(function(){ 


        $('#name').empty().append(name[0]); 
        $('#description').empty().append(description); 
        $("img#html_screenshot_01").attr("src", html_screenshot_01); 
        $("img#html_screenshot_02").attr("src", html_screenshot_02); 
        $("a#site_link").attr("src", site_link); 
        $("a#source_link").attr("src", source_link); 
        $("a#demo_link").attr("src", demo_link);  

        $('a#site_link').filter(function() {return $.trim($(this).text()) === ''}).css("visibility", "hidden") 
        $('a#source_link').filter(function() {return $.trim($(this).text()) === ''}).css("visibility", "hidden")      
        $('a#demo_link').filter(function() {return $.trim($(this).text()) === ''}).css("visibility", "hidden") 
       }); 
      } 
     }); 
     $("#next").click(function() { 
      var i = 0; 
      i++; 
      $('#name').empty().append(name[i]); 
      return false; 
     }); 
     $("#back").click(function() { 
      alert('back'); 
     }); 
    }); 
+0

내가 이해 중 var i = 0;가 있습니다.. $ ('# 이름') 빈() 추가 (이름 [0]); 이것은 테스트 용 이었으므로 첫 번째 항목로드가있을 수 있었고 버튼 기능을 살펴 보았습니다. – Khaza

+3

배열을 반복하는 방법을 묻고 있습니까? 당신은 for 루프, while 루프, do-while 루프, jquerie의 .each() 함수를 가지고 있습니다 ... –

+0

빠른 응답 주셔서 감사합니다. 본질적으로 배열을 반복하는 법을 알아야합니다. 다양한 루프 및 jQuery. 각 함수를 시도했지만 각 구현 중 하나; a. XML 데이터없이 페이지를로드하고 다음 버튼을 누를 때마다 페이지를 새로 고칩니다. b. 초기 XML 항목이있는 페이지를로드 한 다음 버튼을 클릭하면 페이지가 새로 고쳐집니다 (본질적으로 증가하지는 않습니다) – Khaza

답변

0

이동하면 다음 클릭 이벤트

. 
. 

var i = 0; 
$("#next").click(function() { 
. 
. 
. 
+0

48 개 코드를 개발할 수 있고 반복자를 배치해야하는 부분을 이해하지 못하는 것을 좋아합니다. 내 인생의 다음 10 시간을 절약 했어. http://www.roflcorner.com/wp-content/gallery/facepalm/mCU8jmcCknhaneztKwDmYdCyo1_500.jpg – Khaza

+1

@AdrianVona,이 솔루션이 효과가있는 경우 ** 대답 ** 및 ** Upvote **를 유용하게 사용하십시오. – arttronics

관련 문제