2011-03-26 4 views
0

안녕 얘들 아 저는 JQuery를 처음 사용합니다. 제가 궁금한 점은 그 중 하나가 내가 원하는 것을 거의 달성 할 수 있는지 궁금합니다. 콘텐츠 로더가있는 Jquery 슬라이더

http://jsfiddle.net/meyson/EsfXD/

그래서 내가 다른 탭이 슬라이더를 가지고 : 여기를 보라. 사용자가 슬라이더를 클릭하면 이동하고 탭을 서로 바꿉니다. 각 탭에는 데이터 로딩을 모방하는 gif 로더가 있습니다 (이상하게 여겨지지만 그렇게해야합니다). 그 로더는 페이지가 처음로드 될 때만 작동하지만 새로운 탭이로드 될 때마다 그 로더를 실행해야합니다. 그래서 내가 주먹에서 두 번째 탭으로 이동하면 해당로드 기능을 실행하고 싶습니다 그리고 내가 탭 하나 다시 그 함수를 다시 실행하고 싶습니다 이동합니다. 나는 그것이 의미가 있기를 바랍니다.

많은 도움을 주셔서 감사합니다.

+0

탭을 전환 할 때 애니메이션이로드되지 않습니다. – mattsven

+0

지금은 작동해야한다고 생각합니다. 애니메이션이 아마도 너무 많이 부른다는 것에 동의합니다.) – jmysona

답변

0

setTimeout (revealContent, 7250)을 호출해야합니다. (모든 슬라이드에서 호출되는) select 함수에서. 더 나아가 이제는 모든 로더를 숨기고 표시하지만 클릭 한 페이지에서만 숨기고 표시하고 싶습니다.

좋아, 모든 탭 스위치에 2 초 동안 로더를 표시해보십시오. 콘텐츠를 숨기려면 먼저 해결해야합니다.

$(function() { 
$("#tabs").tabs({ 
    select: function(event, ui) { 
     $("#slider").slider("value", ui.index); 
     revealContent(ui.index+1);    
    } 
}); 
$("#slider").slider({ 
    min: 0, 
    max: $("#tabs").tabs("length") - 1, 
    slide: function(event, ui) { 
     $("#tabs").tabs("select", ui.value); 
     $(this).slide(); // fixes the animation 
    }, 
    animate: true 
}); 


}); 


jQuery(function() { 
    revealContent(1); 
}); 

function revealContent(id) { 
    jQuery('#tabs-'+id+' .loadingGifs').show(); 
    setTimeout(function(){ 
     jQuery('#tabs-'+id+' .loadingGifs').hide();  
    }, 2000);  
} 
+0

Bjorn에게 감사드립니다. 위의 코드에서 구현할 수있는 방법을 보여줄만큼 충분한 왕이 될 수 있습니까? 초보자 jquery – jmysona

+0

괜찮아요하지만 슬라이더 내에서 setTimeout 함수를 호출하고 있지만 doesnt 그 div 여기에 참조하십시오 교환 http://jsfiddle.net/meyson/stQYe/ – jmysona

+0

그래서 나는 그것이 도움이되기를 바래 :). –