增量滑块按钮忽略if / else语句

时间:2012-11-23 14:31:32

标签: jquery if-statement

  

可能重复:
  creating increment button that shuts off if margin greater then 2800 pxs

我有一个滑块,我通过使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 set up here,点击任意缩略图即可看到滑块

1 个答案:

答案 0 :(得分:1)

问题是你要将字符串与数字进行比较。

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

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

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

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

或使用JSize这样的插件。