2012-10-06 223 views
0

我的水平滚动有问题。当我用铬进行检查时,我没有看到错误。你能告诉我问题在哪里,因为我找不到它?水平滚动jquery

<html> 
    <head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 

    <script> 
     $('#right-button').click(function() { 
     $('#content').animate({ 
     marginRight: marginRight -"200px" 
     }, "fast"); 
     }); 
     $('#left-button').click(function() { 
     $('#content').animate({ 
     marginLeft: marginLeft +"200px" 
     }, "fast"); 
     }); 
    </script> 
    <style type="text/css"> 
     #browser { 
      float: left; 
      width: 300px; 
      overflow: hidden; 
      white-space: nowrap; 
     } 
    </style> 
    ​ 
</head> 
<body> 
    <div id="browser"> 
     <a href="#" id="left-button">BACK</a> 
     <div id="content"> 
      This is the content of the text which should be scrolled. 
     </div> 
     <a href="#" id="right-button">NEXT</a> 
    </div> 
    ​ 
</body> 

回答

2

你指的marginRight这是不是在你的页面中定义的变量。

替换

$('#content').animate({ 
    marginRight: marginRight -"200px" 

通过

$('#content').animate({ 
    marginRight: "-=200" 

the documentation

动画属性也可以是相对的。如果一个值与 供给主导+ =或 - =字符序列,则该目标值是 通过添加或从属性的当前 值减去给定数量计算的。

如果我猜你的意图,还有另一个逻辑问题:你不能像左右边距这样玩这个。查看Demonstration以查看可以工作的内容。

+0

改变,但仍然无法正常工作 – user1107922

+0

还有一个(逻辑)的问题。看[示范](http://jsfiddle.net/9hubz/)。 –

+0

谢谢!有用! – user1107922

0

一个的jsfiddle在未来请: http://jsfiddle.net/ryanwheale/P7HvH/

此外,像你正在做的,你不能添加字符串:

marginLeft +"200px" 

第一添加整数......然后附加串成后缀:

(marginLeft + 200) + "px"; 

此外,您的示例没有定义marginLeft变量。此添加到顶部:

var marginLeft = 10; 
+0

对不起,我的jsfiddle现在是uptodate。对于那个很抱歉。我的工作示例改变了一些事情,以显示它的工作。我想你可以从那里得到它。 –