2011-04-26 135 views
0

我想让jquery水平地动画一些长布局,但似乎无法使其工作。我怀疑是一个遍历问题,但尝试了几个小时,无法修复。请提前帮助和感谢。jquery遍历

我试图让“innerlonglayout”水平滚动,点击按钮。

这里是我的代码:

<div id="innermask"> 
    <div id="innerlonglayout"> 
    <div class="container-bits">Content Here</div> 
    <div class="container-bits">Content Here</div> 
    <div class="container-bits">Content Here</div> 
    <div class="container-bits">Content Here</div> 
    <div class="container-bits">Content Here</div> 
    <div class="container-bits">Content Here</div> 
    </div> 
</div> 
<div class="boxmenu"> 
      <span id="2002"><img src="images/butt_2002.png"></span> 
      <span id="2003"><img src="images/butt_2003.png"></span> 
      <span id="2004"><img src="images/butt_2004.png"></span> 
      <script> 
       $("#2002").click(function() { 
        $("#2002").parent().parent().parent().children().children().animate({position:'fixed',left:'30px'}, "slow"); 
       }); 
       $("#2003").click(function() { 
        $("#2002").parent().parent().children().children().animate({position:'fixed',left:'-300px'}, "slow"); 
       }); 
       $("#2004").click(function() { 
        $("#2002").parent().parent().children().children("#innerlonglayout").animate({position:'fixed',left:'-600px'}, "slow"); 
       }); 
       </script> 
     </div> 

这里是我的CSS:

#innermask{ 
width:500px; 
height:250px; 
    border:1px solid #cc61b8; 
    overflow:hidden; 
} 

#innerlonglayout{ 
    width:10000px;   // just an example 
} 

.container-bits{ 
    width:250px; 
    height:498px; 
    float:left; 
} 
+3

你想完成什么? – 2011-04-26 18:32:33

+0

你确定你需要所有这些代码吗? ();'('position''fixed',left:' - 300px'},'slow');''''''''做一个更简单的方法,它会让你的代码更易于理解。还要确保你的CSS是正确的,所有的'span'都在同一行上。试着在你的'#innermask'中运行没有溢出:隐藏的程序 – 2011-04-26 18:57:02

回答

0

这有可能是你的数字ID与您的jQuery搞乱。尝试使用以字母开头的唯一ID。

+1

在任何情况下,以数字开头的id值是错误](http://www.w3.org/TR/html40/types。 HTML#类型名)。 – Paolo 2011-04-26 18:40:35

+0

@guand是的,那也是绝对正确:) – Jason 2011-04-26 18:42:46

1

我发现了什么问题。

为了使用jquery来动画任何东西,你必须设置位置:Div的绝对值。

谢谢大家的回复。