在按钮单击时切换div左侧属性

时间:2014-05-01 13:40:34

标签: jquery html

我有以下标记:

<div id="slide_item"></div>
<div id="wrapper" data-cycle-slides="div" data-cycle-log="true"></div>

#wrapper被隐藏,因为#slide_item高于该div。我打算做的是使用#slide_item作为按钮来更改left的{​​{1}}属性

我的尝试是:

#wrapper

但它不起作用。我做错了什么?

编辑: $('#slide_item').click(function () { $("#wrapper").toggle(function() { $(this).animate({left: 150}, 500); }, function() { $(this).animate({left: 0}, 500); }); }); 自jQuery 1.9以来被删除,有人知道替代方法吗?

3 个答案:

答案 0 :(得分:1)

按预期工作看看

$('#slide_item').click(function () {
    $("#wrapper").toggle(function() { 
        $(this).animate({left: 150}, 500);
    }, function() { 
        $(this).animate({left: 0}, 500);
    });
});

演示: - http://jsfiddle.net/u97Ja/10/

答案 1 :(得分:1)

为什么你不能只检查当前的左侧位置?

$('#slide_item').click(function () {
    var wrap = $('#wrapper')
    if (wrap.css('left')=='150px') {
        $(this).animate({left: 0}, 500);
    } else if (wrap.css('left')=='0px') {
        $(this).animate({left: 150}, 500);
    }
});

答案 2 :(得分:0)

这是一个有趣的单行;)

$('#slide_item').click(function() {
    $("#wrapper").animate({ left: $("#wrapper").css("left") === "0px" ? 150 : 0 });
});

小提琴:http://jsfiddle.net/v4LUC/