jquery不会改变div的margin属性

时间:2013-07-26 09:32:28

标签: jquery margin

这是我关于JQuery的第一个问题。

我有3个按钮。所有都是水平对齐的,如:

1st: Button 2nd: Button 3rd: Button

我有一个名为popup的div。

如果我点击按钮1,则div应显示为:

1st: Button 2nd: Button 3rd: Button

div: popup

如果我点击第二个按钮,那么它应该是:

1st: Button 2nd: Button 3rd: Button

div: popup

第3个按钮:

1st: Button 2nd: Button 3rd: Button

div: popup

使用JQuery,我选择了元素。我计算按钮的左边距并将其存储在变量中。我让div看不见。然后我将该保证金应用于div。最后我让它可见。这是代码。

<script>
    $('img').click(function () {
        var clickedImageMargin = $(this).css('margin-left');
        alert(clickedImageMargin);
        $('#popup').hide();
        $('#popup').css({ 'margin-left': clickedImageMargin + 100 });
        $('#popup').show();
    });
</script>

但是div并没有改变它的立场。可能是什么问题?

2 个答案:

答案 0 :(得分:1)

var clickedImageMargin = $(this).position().left;

答案 1 :(得分:1)

问题是$(this).css('margin-left')返回一个字符串,例如“200像素” 如果你添加100,将使用字符串连接,因此你设置的值为'200px100',这是无效的。