我正在尝试为显示点击缩略图的画廊创建代码:

我将一个div命名为“ track”,里面是缩略图。

现在使用我当前的代码,当我按下按钮时,它向左移动-100px
当我再次单击时,没有任何反应。我希望这是连续的。
10是保证金位置

$("#button").click(function () {
    var a = 10;
    var b = 10;
    var c = function () {
        if (a >= b) {
            a = b - 100;
            return (a);
        }
    };
    $('#track').css({
        'margin': '10px ' + c() + 'px',
        'transition-duration': '1s'
    });
});


因此,在该代码之后c返回-90px
如果他将css中的margin保存为margin,则返回idk:10px 10px;保证金10px -90px;

如果有人有任何想法如何在每次点击移动-100px之后做出该选择?

Fiddle

最佳答案

Vars ab将设置为值10
由于b永远不会在代码中的任何地方重置,因此您的函数将始终返回实际上是b - 10010 - 100。因此它只会在此位置移动一次。

    var a = 10;
    var b = 10;
    var c = function () {
        if (a >= b) {
            a = b - 100;
            return (a);
        }


如果我正确理解的话,您想要的是每次单击按钮时更改值。在下面的代码中,我在点击定义之外得到了var a = 10;。我删除var b,并在每次单击时减小您的a。您可能应该添加一个条件,以便在某个时候停止此效果。

var a = 10;
$("#apDivvv2").click(function() {
var c = function () {
    a-=100;
    return a;
};

$('#track').css({'margin':'10px ' + c() + 'px', 'transition-duration':'1s'});
});


Here是您更新的jsfiddle

09-11 13:57