2011-01-19 59 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) {