我想相对添加css top position。 如果它的顶部位置是30px,我想添加它的位置+30, 所以它的结果是60px。
所以我必须这样做,
$("#btn").css("top", $("#btn").css("top")+30);
有没有更短的方式或有效的方法来做到这一点。
答案 0 :(得分:2)
如果您愿意,可以使用允许增量的.animate()
方法,并使用0作为持续时间,以便立即发生。
$('#btn').animate({top:'+=10'},0);
答案 1 :(得分:1)
JavaScript总是可以更短。使用工具压缩或缩小它,不要手动操作。
只需按一次按钮就可以提高效率。此外,如果您希望其他人看到您的意图,最好使用自解释变量名称。
var btn = $("btn");
var top = btn.css("top");
btn.css("top", top + 30);
随时将此缩短为
var btn = $("btn");
btn.css("top", btn.css("top") + 30);
P.S。元素的确切位置可能与您在CSS中指定的位置不同。如果您遇到定位问题,请查看jQuery函数offset(),position()等 - 请参阅http://api.jquery.com/category/css/。
答案 2 :(得分:1)
另一个way
$('#btn').css('top', function(index,value) {
return value +30;
});
答案 3 :(得分:0)
这会将当前最高的30添加到30px30
,您应该使用parseInt
:
$("#btn").css("top", (parseInt($("#btn").css("top")) + 30) + 'px');
答案 4 :(得分:0)
你应该使用
$('#btn').css({top: +30});
它只是将当前值加30。简单。这适用于任何其他CSS值。
答案 5 :(得分:0)
从jQuery 1.6开始,您可以使用:
$("#btn").css("top", "+=30");