0

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

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

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

我有 1 个名为 的 div popup

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

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

div: popup

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

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

                                                               div: popup

对于第三个按钮:

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 并没有改变它的位置。可能是什么问题?

4

2 回答 2

1

问题是它$(this).css('margin-left')返回一个字符串,例如'200px' 如果你添加100,将使用字符串连接,所以你设置的值是'200px100',这是无效的。

于 2013-07-26T09:42:39.787 回答
1
var clickedImageMargin = $(this).position().left;
于 2013-07-26T09:40:12.853 回答