jquery,任何相对更改顶部位置的简短版本

时间:2010-11-22 07:14:55

标签: jquery

我想相对添加css top position。 如果它的顶部位置是30px,我想添加它的位置+30, 所以它的结果是60px。

所以我必须这样做,

$("#btn").css("top", $("#btn").css("top")+30);

有没有更短的方式或有效的方法来做到这一点。

6 个答案:

答案 0 :(得分:2)

如果您愿意,可以使用允许增量的.animate()方法,并使用0作为持续时间,以便立即发生。

$('#btn').animate({top:'+=10'},0);

示例http://www.jsfiddle.net/gaby/Pre8A/1/

答案 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");