2010-12-02 3 views
0

이전과 다음 버튼이있는 요소를 살펴볼 필요가 있지만 어떻게해야하는지 문제가 있습니다. 도울 수 있니. 이전/다음 또한 연속적으로 반복되어야합니다. 마지막 항목으로 가면 첫 번째 항목으로 이동하고 prev를 통해 첫 번째 항목으로 갈 때 다음 항목을 클릭하면 마지막 항목으로 이동하게됩니다.Prev Next with jquery

<ul> 
<li>Number 1 item</li> 
<li>Number 2 item</li> 
<li>Number 3 item</li> 
<li>Number 4 item</li> 
</ul> 

많은 감사, C

+1

"요소들을 살펴 봅니다"란 무엇을 의미합니까? 귀하의 질문에 ** 상황 **이 없습니다. –

+0

요소를 통과하면 무엇을 의미합니까? – Trufa

+0

오케이. 내가 뭘 하려는지는 이것보다 훨씬 더 중요하다. 그러나 나는 모든 요소를 ​​녹색으로 채색하고, 다음의 버튼을 사용하여 li 태그를 강조 표시한다고 말한다. –

답변

1

당신이 시작이 가야 : fiddle

HTML :

<ul> 
    <li>Number 1 item</li> 
    <li>Number 2 item</li> 
    <li>Number 3 item</li> 
    <li>Number 4 item</li> 
</ul> 
<input type="button" class="next" value=">" /> 
<input type="button" class="prev" value="<" /> 

자바 스크립트 :

(function(){ 
    var $lis = $('ul li'); 
    var index = 0, lastIndex = 0; 

    start(); // activate first, add event listeners to buttons 

    function next(){ 
     lastIndex = index; 
     if(++index == $lis.length) index = 0; // if next is out of bounds go to first 
     $lis.eq(index).addClass('active'); 
     $lis.eq(lastIndex).removeClass('active'); 
    }; 

    function prev(){ 
     lastIndex = index; 
     if(--index < 0) index = ($lis.length - 1); // if prev is less than first to to last 
     $lis.eq(index).addClass('active'); 
     $lis.eq(lastIndex).removeClass('active'); 
    }; 
    function start(){ 
     $lis.eq(0).addClass('active'); 
     $('.next').click(next); 
     $('.prev').click(prev); 
    } 
})(); 
0

다음은 사용할 수있는 또 다른 예입니다. - posted on jsFiddle

+0

이것에 관해서는 아약스를 통해 이미지를로드 할 것입니다. 문제는 jquery가 load() 함수를 사용하여 이미지를로드 할 수 있다고 생각하지 않는다는 것입니다. 모든 도움에 감사드립니다 !!! –

+0

ajax 요청이로드하려는 이미지의 경로를 다시 전송하는 경우 일반 자바 스크립트를 사용하고 새 Image()를 만들고 src 속성을로드 할 이미지의 경로로 설정할 수 있습니다. 그런 다음 jquery를 사용하여 이미지로드 시간을 청취 할 수 있습니다. myImage.load (function() ... – Zevan