jQuery - If和Else If's for marginLeft's

时间:2014-01-08 02:23:51

标签: javascript jquery jquery-animate margin

我想知道你是否可以帮助我,我正试图在我的网站上创建基于互动,但遗憾的是代码不起作用,我想不出为什么。我们的想法是单击一个按钮将其向左移动,然后当点击另一个按钮时,它会再次将其重新置于其中。

if($("#featImgOne").css("marginLeft")=='0px'){
    $('#featNext').click(function(){
        $('#featImgOne').animate({marginLeft:"-960px"});
    });
    }
    else if($("#featImgOne").css("marginLeft")=='-960px'){
    $('#featPrev').click(function(){
        $('#featImgOne').animate({marginLeft:"0px"});
    });
    }

请注意第一次点击有效,但第二次点击不会,所以我很困惑

提前致谢,希望有人可以提供帮助

3 个答案:

答案 0 :(得分:1)

您必须在Click处理程序中移动if条件

$('#featNext').click(function () {
    if ($("#featImgOne").css("marginLeft") == 0) {
        $('#featImgOne').animate({
            marginLeft: "-960px"
        });
    }
});
$('#featPrev').click(function () {
    if ($("#featImgOne").css("marginLeft") != 0) {
        $('#featImgOne').animate({
            marginLeft: "0px"
        });
    }
});

答案 1 :(得分:0)

您期望的内容不会发生,因为永远不会添加第二个click事件,因为在开头margin-left不是该值。通过删除条件语句来解决此问题:

$('#featNext').click(function () {
    if ($("#featImgOne").css("marginLeft") == 0) {
        $('#featImgOne').animate({
            marginLeft: "-960px"
        });
    }
});
$('#featPrev').click(function () {
    if ($("#featImgOne").css("marginLeft") != 0) {
        $('#featImgOne').animate({
            marginLeft: "0px"
        });
    }
});

答案 2 :(得分:0)

您将不得不添加某种循环。尝试一下循环。**while**//add a condition