스크롤 제이쿼리 관련 문제.. 도와주세요 ㅠㅠ 채택완료
http://test.thedirectwedding.com/">http://test.thedirectwedding.com/
답변 2개
$("#tab0"+i).offset().top
->
Math.floor( $("#tab0"+i).offset().top );
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
해당 url 의 웹페이지를 확인해 본 결과
높이 좌표값에 의해 setClass(i) 함수가 적용되는 부분을 조금 수정해야 하는데,
메뉴의 갯수가 7개로 고정되는 것이라면 우선 수동으로 아래와 같이 수정해보세요.
</p><p>//아래 for 문에 내용 추가</p><p>for (var i = 1 ; i <= $(".top_menu").find("a").length ; i++)
{
var scr_top = $("#tab0"+i).offset().top
if (d_stop >= scr_top )
{
setClass(i);
}</p><p> //아래부분 추가함</p><p> else if(d_stop > 4200)</p><p> {</p><p> setClass(7);</p><p> }
}</p><p>
마지막 메뉴 fnMove('7')의 높이 좌표값이 대략 4308 정도 나오네요.
그래서 else if(d_stop > 4200) 이런식으로 추가한 겁니다.
만약에 "웨딩홀 리스트" 위 부분의 내용이 많아지면 7번째 메뉴의 높이 좌표값도 바뀌기 때문에 이때에는 수동으로 4200 보다 큰 수로 변경해야 합니다.
이것을 자동으로 하고 싶다면
마지막 scr_top 의 값을 변수(last_scr_top)로 지정하고 d_stop 와 last_scr_top를 비교하는 방식(d_stop > last_scr_top)으로 처리하면 될 것같습니다.
답변에 대한 댓글 2개
마지막 메뉴의 좌표값이 소수점 아래까지 잡히는 것이 문제였나 봅니다.
그냥
var scr_top = $("#tab0"+i).offset().top <-- 이부분을
var scr_top = Math.floor( $("#tab0"+i).offset().top ); <-- 이렇게 고치기만 하면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인