2013-04-29 2 views
0
나는 사용자가 페이지의 특정 지점으로 스크롤 한 요소의 ID를 변경하고 있어요

:변경 ID - 발생하는 불확실성은

http://jsfiddle.net/QupNv/6/

ID는 변경하도록되어 그들이 어디에 있는지에 따라. 여기에 내 코드입니다 :

$(window).scroll(function() { 

var scrollTop = $(window).scrollTop(), 
    divOffset = $('#b').offset().top, 
    dist = (divOffset - scrollTop); 

$('.message').text(dist); 

if (dist >= 100 && dist <= 200) { 
    $('.switch').attr('id', 'd') 
} 
else if (dist > 1 && dist < 100) { 
    $('.switch').attr('id', 'e') 
} 
else { 
    $('.switch').attr('id', 'c') 
} 
}); 

나는 하나 개의 조건이있을 때 그것은 꿈처럼 작동하지만 다음의 경우 다른 사람을 추가하는 경우이 창 상단에 백업을 뛰어 아래로 스크롤을 계속하지 싶다. 내가 잘못하고있는 것에 대한 조언

도움을 주시면 대단히 감사하겠습니다. 감사!

+0

http://jsfiddle.net/mblase75/QupNv/5/ - 나를 위해 잘 작동하는 것 같습니다. – Blazemonger

+0

그러면 'switch'클래스를 가진 모든 요소가 동일한 ID를 갖게됩니다. ID는 고유해야하기 때문에 예기치 않은 결과가 발생합니다. –

+0

목표는 사용자가 스크롤 할 때 다른 ID를 기반으로 속성을 변경하기 위해 클래스 스위치와 함께 한 요소를 갖는 것입니다. 내 생각에는 한 번에 하나의 ID 만있을 것입니다. – 98c

답변

1

코드에서 id = "e"인 DIV가 없기 때문에 내가 말할 수있는 것부터 알 수 있습니다. 그것이 위로 올라간 이유입니다.

+0

"e"ID를 사용하여 DIV를 만들었지 만 여전히 점프합니다. – 98c

+0

잘못된 링크를 게시했습니다. 다음은 내 문제의 예입니다. http://jsfiddle.net/QupNv/6/ – 98c

+0

도움을 주셔서 감사합니다. – 98c