2012-05-07 2 views
0

나는 이것이 쉽다는 것을 확신하지만, 운이 좋았다. 내 페이지 목록에 애니메이션을 적용하는 페이징 jQuery 스크립트를 작성했습니다. 나는 당신이 목록에있는 위치에 따라 표시/숨기고있는 다음 및 이전 버튼을 가지고 있지만 처음에는 위치 변경을 선택하지 않습니다.JavaScript가 변경을 감지하지 못함

http://jsfiddle.net/mikeoram/t4787/

나는 단순한 뭔가를 누락 확신, 모든 제안 도움이 될 것입니다 : 여기 jsFiddle 내 코드입니다.

제 질문에만 답변 해주세요. 내가 지금하고있는 것과 내가 다르게 할 수있는 이유가 있습니다.

감사합니다,

마이크

+1

HTML 코드를 게시 할 수 있습니까? –

+1

일부 HTML을 게시하거나 http://jsfiddle.net을 만드십시오. 이것은 우리의 삶을 쉽고 빠르게 대답하는 데 도움이됩니다. – rcdmk

+0

_ "제 질문에만 답해주세요. 제가하는대로하는 이유가 있습니다. 다른 것은 할 수 없습니다."_ 사람들은 도움을 구하는 사람들에게 큰 요구를하지 않고 큰 태도를 취하지 않습니다. 또한 귀하의 질문은 앞으로도 다른 사람들을 돕기 위해 계속 머물러 있으므로 개선을위한 제안은 즉각적인 필요 이상으로 진행됩니다. – Sparky

답변

1

우선, top은 계층 구조의 상단 창을 참조하는 예약 된 변수입니다. 그것은 코드의 나머지 부분과 혼란을하지 않도록 항상 함수 내부의 변수를 선언 : 정상 값에서 비 숫자를 제거하는

var top = $('.paginate').css('top'); 

둘째, 사용 정규식, 그래서 항상 유효한 정수가됩니다 :

보기 http://jsfiddle.net/MaLDK/1/

+0

도움을 주셔서 감사합니다, iv는 당신의 수정안을 만들었지 만, 여전히 내 문제를 해결하지는 않았습니다. jsFiddle의 예제를 참고하십시오 : http://jsfiddle.net/mikeoram/t4787/ –

+0

'buttons()'호출을'animate()'호출의 콜백으로 직접 옮겼습니다. 애니메이션이 끝나 자마자 또한 비교는 문자열이어야합니다 :'top == "0"','top' 변수는 문자열입니다. – rcdmk

+0

아 멋지다! 대단히 감사합니다! http://jsfiddle.net/t4787/1/1/ 애니메이션에 (서) 실행될 때 버튼 체크가 animate() 안에 마지막 값으로 놓여 져야 함을 주목하라. 완전한. –

0

$('.paginate').css('top'); 당신이

parseFloat($('.paginate').css('top'));이 문자열의 끝이 아닌 숫자를 제거 할 번호를 비교하려면 당신에게 0px

를 반환 할 수있는 경우 숫자 앞에는 문자가 없습니다.

+0

도움을 주셔서 감사합니다. 그렇습니다. 아니요. 마지막 두 글자를 지우는 이유는 px와 함께 반환됩니다. parseFloat가 필요 없습니다. 생각해 줘서 고마워. –

관련 문제