这是我关于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并没有改变它的立场。可能是什么问题?
答案 0 :(得分:1)
var clickedImageMargin = $(this).position().left;
答案 1 :(得分:1)
问题是$(this).css('margin-left')
返回一个字符串,例如“200像素”
如果你添加100,将使用字符串连接,因此你设置的值为'200px100',这是无效的。