2011-01-19 73 views
0

我有以下代碼。 「YellowLeft」和「YellowRight」是將選項卡向左或向右移動的按鈕。在他啓動頁面時,我想讓「YellowLeft」隱藏,因爲我無法將標籤左移一開始。一旦我滾動回到開始,我希望該按鈕再次消失。jquery positing problem

要做到這一點,我有一個名爲newPos的變量,它檢查偏移量是否保持相同的值。如果是,則「YellowLeft」按鈕應該再次消失。但理論上,偏移值永遠不會改變,但我將標籤移動到左側。所以newPos和偏移量始終保持相同的值,並且按鈕在第一次點擊時消失。

我的錯誤在哪裏?

謝謝!

$(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) {