0

可能重复:
创建增量按钮,如果边距大于 2800 像素则关闭

我有一个滑块,我正在通过制作slider_container margin-left负数来推进它,所以-700. 当这margin-left-3500px最后一张幻灯片时,我希望右键停止700从容器中减去。这就是我试图做到这一点的方式,但它似乎不起作用,它只是不断地经过最后一张幻灯片。

$("#right").click(function () {
    if ($("#slider_container").css("marginLeft") < -1000) {
        $("#slider_container").animate({
            marginLeft: 0
        }, 450); 
    }
    else {
        $("#slider_container").animate({
            marginLeft: "-=700px"
        }, 450); 
    }
});

我在这里设置了一个 JSFiddle,单击任何缩略图以查看滑块

4

1 回答 1

1

问题是您正在将字符串与数字进行比较。

console.log(typeof($("#slider_container").css("marginLeft")));

上面的代码将返回您的字符串,并且您将其与数字(-1000)进行比较,因此条件将始终为假。

您可以手动将字符串转换为数字:

$("#slider_container").css("marginLeft").replace("px", "");

或使用诸如JSize 之类的插件,它正是这样做的。

于 2012-11-23T14:49:38.360 回答