Jquery 增量CSS定位不起作用

Jquery 增量CSS定位不起作用,jquery,css,Jquery,Css,我发誓这应该行得通,但是不行。我一定错过了一些简单的东西: HTML: JavaScript: $('#box').click(function(e) { if (e.shiftKey) $(this).css('left', '70px'); else $(this).css('left', '+=50'); }); 如果按住shift键并单击,则长方体将按其应有的方式移动。尝试在不移动的情况下单击,长方体的左边缘位置不会增加50像素。什么带

我发誓这应该行得通,但是不行。我一定错过了一些简单的东西:

HTML:

JavaScript:

$('#box').click(function(e) {
    if (e.shiftKey)
        $(this).css('left', '70px');
    else
        $(this).css('left', '+=50');
});

如果按住shift键并单击,则长方体将按其应有的方式移动。尝试在不移动的情况下单击,长方体的左边缘位置不会增加50像素。什么带来了变化?

变化:

$(this).css('left', '+=50');
致:

更改:

$(this).css('left', '+=50');
致:

该错误将在
1.6.2
中修复

破碎的:

修正:-使用“jQuery(edge)”

请参阅

该错误将在
1.6.2
中修复

破碎的:

修正:-使用“jQuery(edge)”

它获取字符串的数字部分-在本例中,它获取10px中的10-加10,然后附加“px”。在css中,值的末尾必须有度量单位

希望这有帮助

它获取字符串的数字部分-在本例中,它获取10px中的10-加10,然后附加“px”。在css中,值的末尾必须有度量单位


希望这有帮助

I解决方案可以是:

$('#box').click(function(e) {
    if (e.shiftKey)
        $(this).css('left', '70px');
    else {
       var left = parseInt($(this).css('left'));
        left+=50;
        $(this).css('left',left)}
});
演示:


$(this).css('left')
返回一个字符串,因此必须将其作为整数使用,然后添加50px

I解决方案可以是:

$('#box').click(function(e) {
    if (e.shiftKey)
        $(this).css('left', '70px');
    else {
       var left = parseInt($(this).css('left'));
        left+=50;
        $(this).css('left',left)}
});
演示:


$(this).css('left')
返回一个字符串,因此您必须将其作为整数使用,然后添加50px

这是一个jQuery错误,我正在努力找到指向它的链接。这里已经问了好几次了,可能是jQuery错误的重复,我正在努力寻找链接。这里已经问过好几次了。可能是重复的当然我试过了。jQuery文档显示,当使用+=或-=时,您不使用“px”,当然我试过了。jQuery文档显示,在使用+=或-=完美时,您不会使用“px”,谢谢。唉,他们修复了$.css(),但没有$.animate()。如果您现在需要它,请坚持使用
parseInt($(this).css('left'))+50+“px”
@CaptSaltyJack:最后您不需要
+“px”
。我的错,很好,谢谢。唉,他们修复了$.css(),但没有$.animate()。如果您现在需要它,请坚持使用
parseInt($(this).css('left'))+50+“px”
@CaptSaltyJack:最后您不需要
+“px”
。我的错。
$('#_testList').css('left', (parseFloat($('#_testList').css('left')) + 10) + 'px');
$('#box').click(function(e) {
    if (e.shiftKey)
        $(this).css('left', '70px');
    else {
       var left = parseInt($(this).css('left'));
        left+=50;
        $(this).css('left',left)}
});