使用jquery增加css top属性

ahm*_*mad 32 css jquery

我有以下div:

<div id="new" style="position: absolute; z-index: 100; top: 210px; width: 195px..
Run Code Online (Sandbox Code Playgroud)

top事件发生时增加财产的最佳方法是什么?

请注意,我已经尝试过:$('#new').css('top')+10但问题是.css返回字符串.

Ste*_*lor 127

最简单的方法是使用+=运算符:

$( '#new' ).css( 'top', '+=10px' );
Run Code Online (Sandbox Code Playgroud)


Ple*_*and 38

您可以使用该parseFloat函数仅获取初始数字部分并将其从字符串转换为数字.例如:

var n = $('#new');
n.css('top', (parseFloat(n.css('top')) + 10) + 'px');
Run Code Online (Sandbox Code Playgroud)

作为旁注,如果您想同时更改多个元素的位置,可能是:

$('.someClass').css('top', function(i, v) {
    return (parseFloat(v) + 10) + 'px';
});
Run Code Online (Sandbox Code Playgroud)

但是,如果您只是尝试动画元素随着时间的推移,请看看jQuery的.animate方法.