水平滚动jquery

时间:2012-10-06 17:56:34

标签: jquery jquery-ui

我的横向滚动有问题。当我检查铬时,我没有看到错误。你能告诉我问题出在哪里,因为我找不到了吗?

<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 个答案:

答案 0 :(得分:2)

您指的是marginRight,它不是您网页中定义的变量。

替换

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

通过

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

来自the documentation

  

动画属性也可以是相对的。如果提供了一个值   一个前导+ =或 - =字符序列,然后目标值是   通过从当前加上或减去给定数字来计算   财产的价值。

如果我猜你的意图还有另一个逻辑问题:左边和右边距都不能像这样玩。请参阅Demonstration以了解可行的方法。

答案 1 :(得分:0)

未来的JSFiddle请: http://jsfiddle.net/ryanwheale/P7HvH/

此外,您无法像以前那样添加字符串:

marginLeft +"200px"

首先添加整数...然后追加串行后缀:

(marginLeft + 200) + "px";

此外,您的示例未定义marginLeft变量。将其添加到顶部:

var marginLeft = 10;