2012-05-03 2 views
2

정적 대신이 함수를 동적으로 만들려고합니다. jQuery주기 플러그인 동적 함수

동적 기능 (작동하지 않습니다) 여기

$('#goto1').click(function(e) { 
    e.preventDefault(); 
    $('#slider').cycle(1); 
}); 

작동되는 원래의 코드였다. 경고는 올바른 ID를 출력하지만 슬라이더는 순환하지 않습니다. 다음

$('.cycle_goto').live('click', function(e) { 
    e.preventDefault(); 
    var cycle_id = $(this).attr('id').substr(4); 
    alert ('##'+cycle_id+'##'); 
    $('#slider').cycle(cycle_id); 
}); 

되는 HTML은 :

<div id="slider"> 
    <img class="slide" src="<?=FE_URL;?>images/slide1.jpg" style="position: relative !important;" alt="Slide 1."> 
    <img class="slide" src="<?=FE_URL;?>images/slide2.jpg" alt="Slide 2"> 
    <img class="slide" src="<?=FE_URL;?>images/slide3.jpg" alt="Slide 3"> 
</div> 
<div class="slider_nav"> 
    <ul id="slider_nav_ul"> 
     <li><a class="cycle_goto" id="goto1" href="#">Hotel &amp; Residence<span class="arrow"><!-- --></span></a></li> 
     <li><a class="cycle_goto" id="goto2" href="#">Yacht Charter<span class="arrow"><!-- --></span></a></li> 
     <li><a class="cycle_goto" id="goto3" href="#">Properties<span class="arrow"><!-- --></span></a></li> 
    </ul> 
</div> 

EDIT

는 다음 코드 정수 요소 ID를 변환하여 작업 었음 :

$('.cycle_goto').live('click', function(e) { 
    e.preventDefault(); 
    var myString = $(this).attr('id').substr(4); 
    var myInteger; 
    myInteger = parseInt(myString); 
    var cycle_id = myInteger; 
    $('#slider').cycle(cycle_id); 
}); 
+1

cycle_id = 1로 항상 같은 동적 함수를 호출하면 사이클링됩니까? 또는 그 안의 정적 인 값? 왜 당신은 HTML 부분을 제공하지 않는가? – Niranjan

+0

html로 업데이트되었습니다. – James

+0

또한 예 cycle_id = 1은 항상 순환합니다. – James

답변

2

논리적으로 유효하지 않은 $('#slider').cycle(1);을 사용했습니다.

구문은 $('#slideshow').cycle('command');이므로 요소로 이동하도록 선택할 수 없습니다.

편집 :

당신은 요소에 이동하거나 API에서 옵션을 변경하여 요소 그룹을 선택할 수 있습니다 슬라이드를 선택 // 표현을 널 (null) :

slideExpr을

예 (모든 아동이 아닌 다른 이 필요한 경우) : $('#slider').cycle({ slideExpr: $('#slider .child') });

+0

작동합니다, 위의 편집을 참조하십시오. 당신의 도움을 주셔서 감사합니다 :-) – James