2011-01-19 4 views
0

다음 코드가 있습니다. "YellowLeft"및 "YellowRight"는 탭을 왼쪽 또는 오른쪽으로 이동시키는 버튼입니다. 시작할 때 그는 페이지를 처음부터 왼쪽으로 이동할 수 없기 때문에 "YellowLeft"를 숨기고 싶습니다. 처음으로 스크롤하면 해당 버튼이 다시 사라지게됩니다.jquery positing problem

오프셋을 동일한 값을 보유하고 있는지 검사하는 newPos라는 변수가 있습니다. 이 경우 "YellowLeft"버튼이 다시 사라집니다. 그러나 이론상으로 탭을 왼쪽으로 움직여도 오프셋 값은 변하지 않습니다. 그래서 newPos와 offset은 항상 같은 값을 유지하고 버튼은 첫 번째 클릭에서 사라집니다.

내 실수는 어디에서 왔습니까?

감사합니다.

$(document).ready(function() 
     { 

      $("#YellowLeft").hide(); 
      var offset = $("#Tab1").offset(); 
      var newPos = offset; 
      newPos.left = offset.left; 

      $("img").click(function() 
      { 
       var tabs_list = $("div#TabsWrapper > ul"); 
       if($(this).is("#YellowRight")) 
       { 
        tabs_list.animate({ left: "-=155" }, 500); 
        $("#YellowLeft").show(); 
        alert(newPos.left); 
       } 
       else if($(this).is("#YellowLeft")) 
       { 
        tabs_list.animate({ left: "+=155" }, 500); 

        if (newPos.left == offset.left) { 
         $("#YellowLeft").hide(); 
        } 
       } 
      }); 
     }) 

답변

1

관련 HTML 코드를 참조하는 것이 유용 할 것입니다,하지만 난 당신이 라인을 변경할 필요가 있다고 생각 :

if (newPos.left == offset.left) { 

에 :

if ($('#Tab1').offset().left == offset.left) {