2014-12-23 2 views
0

jquery를 사용하여 완벽하게 작동하는 기본 맞춤형 슬라이더를 사용하고 있습니다. 이제 슬라이더에서 "다음"및 "이전"기능을 한 번만 사용하고 싶습니다. 두 번째로 사용자가 링크를 클릭하면 페이지의 어딘가에 스크롤됩니다. 나는 다음과 같은 코드를 만들었습니다 :슬라이드를 조건부로 탐색하는 방법은 무엇입니까?

var position = 0; 

    $('#control_prev').click(function() { 
      if (position > 0) { ///if user is on second slide allow him back to default slide . (0 is the default slide) 
      moveLeft(); 
      position -= 1; 
     } 
    else if(position = 0){ /// if user tries to go to previous while on default slide nagivate him to home section. 
      $('.control_prev').attr('href', '#home'); 
      $('.control_prev').addClass("secondary url"); 
      position -= 1; 
     } 
     alert(position); 
    }); 

    $('#control_next').click(function() { 
     if (position = 0) { // if a user tries to view second slide while on default slide we allow him. 
     moveRight(); 
     position += 1; 
     } 
     else if(position > 0){ // if a user is on second slide and wants to go next slide we navigate him to a different section. 
      $('.control_next').attr('href', '#business-events'); 
      $('.control_next').addClass("secondary url"); 
      position += 1; 
     } 
     alert(position); 
}); 

나는 alert()을 사용하여 위치 값을 확인하지만 그 값은 항상 0입니다. 변수를 선언하는 데 문제가 있습니까? 아니면 논리 자체에 결함이 있습니까? 이 문제를 해결할 수있는 방법을 제안 해주세요. 미리 감사드립니다.

-Cheers 맥스

답변

0

문제 (이중 등호 연산자 ==으로 수행)와 동등한 비교 (하나의 등호 연산자 =으로 수행) 값 할당을 가미하여 함께 놓여있다. if(position = 0)을 사용하고 있습니다. 은 항상 거짓을 반환합니다. 대신 == : if(position == 0)을 사용하십시오.

p/s : 일반적으로 alert() 대신 console.log()을 사용하고 latter will break JS execution으로 사용하는 것이 좋습니다.

+0

그냥 약간의 업데이트가 "0이면 항상 거짓"으로 업데이트됩니다. –

+0

@OnurTOPAL 감사합니다! 나는 교정되었다 - 사소한 뇌사가있다;) – Terry

+0

감사, 그것은 많이 도움이되었다. 나는 많은 소리를 바꿔야했다. 코드는 이제 다음과 같이 보입니다 http://chopapp.com/#x56769d1 아직 버그가 있습니다. :) 감사합니다. –

관련 문제