2011-04-05 5 views
1

아주 간단한 호버 도구 팁을 페이지의 일련의 요소 바로 위에 배치하려고합니다. 제 위치 코드는 FF에서는 완벽하게 작동하지만 IE8에서는 페이지가 스크롤되면 위치 지정에 실패합니다. 나는 스크롤을 보상하고 있지만, IE8에서는 제대로 작동하려면 숫자를 두 배로 늘려야 할 것 같습니다.jquery ie8 scrollTop 및 오프셋 문제

$('.evidence_thumb').mouseenter(function() { 
    var position = $(this).position(); 
    $top = ((position.top - $('#icon_tool_tip').height()) + $(window).scrollTop()) + 10; 
    $left = ((position.left) + $(window).scrollLeft()) - 40; 
    $('#icon_tool_tip').offset({ top: $top, left: $left }); 
}); 

위의 코드로 표시 할 때 오류 범위는 항상 정확히 scrollTop의 양입니다. 필자는 수평 스크롤을 테스트하지 않았지만 동일한 문제가 있다고 가정합니다.

답변

1

나는 이것을 "해결 된"이라고 정확하게 부르지는 않겠지 만 CSS 대신에 jquery 오프셋을 사용하지 않았다. 나는 변경했다 : $ ('# icon_tool_tip'). offset ({top : $ top, left : $ left}); to : $ ('# icon_tool_tip') .css ({top : $ top, left : $ left});

그것은 내 문제를 해결했지만, 내가 이해하고 싶어했을 오프셋과 함께 이상한 일이 있습니다.

+0

offset()을 사용하여 $ top 및 $ left에 단위가 있습니까? jQuery doc에 따르면 offset()이있는 단위가 필요하지 않은 것 같습니다. – Capsule

+0

단위가 없습니다. 이상하게도 내가 확신하는 문서를 확인하지는 않았지만 나는 그들에게 필요한 CSS 호출을하지 않는다. 내가 방해받지 않으면이 문제를 다시 검토하고 무슨 일이 일어나는지 알아볼 계획입니다. – Tom