Javascript jQuery添加到css元素
我有我的元素的id。我需要向元素的css属性之一添加一个给定的值(由javascript中的变量确定)。例如,给定一个元素Javascript jQuery添加到css元素,javascript,jquery,css,Javascript,Jquery,Css,我有我的元素的id。我需要向元素的css属性之一添加一个给定的值(由javascript中的变量确定)。例如,给定一个元素id=my_id如何将x添加到该元素的margin top属性中?一种方法是,但给它一个0的持续时间。这允许您将+=运算符作为字符串发送,并连接x的值 var x = 50; $('#my_id').animate({marginTop: '+=' + x}, 0); 另一种方法是将函数作为第二个参数传递给。返回值将是当前值加上x。这需要jQuery 1.4或更高版本 一
id=my_id
如何将x
添加到该元素的margin top
属性中?一种方法是,但给它一个0
的持续时间。这允许您将+=
运算符作为字符串发送,并连接x
的值
var x = 50;
$('#my_id').animate({marginTop: '+=' + x}, 0);
另一种方法是将函数作为第二个参数传递给。返回值将是当前值加上x
。这需要jQuery 1.4或更高版本
一种方法是使用,但给它一个持续时间0
。这允许您将+=
运算符作为字符串发送,并连接x
的值
var x = 50;
$('#my_id').animate({marginTop: '+=' + x}, 0);
另一种方法是将函数作为第二个参数传递给。返回值将是当前值加上x
。这需要jQuery 1.4或更高版本
当然,这是假设您始终使用px作为边距顶部值。我已经可靠地使用它很长时间了
当然,这是假设您始终使用px作为边距顶部值。我已经可靠地使用了很长一段时间。如果
parseInt(value)
返回NaN
,这将失败。你应该添加一些保护来防止这种可能性。Björn-不幸的是,在编辑时,它现在会100%返回x
100%的值。因为isNaN(value)
的计算结果总是true
,所以您永远不会得到第二个return语句。这是因为当边距顶部
确实有一个值时,值
参数将给出px
中的大小(比如10px
),这不是一个数字……如果jQuery总是给出px
值,那么原始的parseInt()
答案就行了。在依赖它之前,我会做一些仔细的测试,然后可能仍然会有一个安全网。如果parseInt(value)
返回NaN
,这将失败。你应该添加一些保护来防止这种可能性。Björn-不幸的是,在编辑时,它现在会100%返回x
100%的值。因为isNaN(value)
的计算结果总是true
,所以您永远不会得到第二个return语句。这是因为当边距顶部
确实有一个值时,值
参数将给出px
中的大小(比如10px
),这不是一个数字……如果jQuery总是给出px
值,那么原始的parseInt()
答案就行了。在依赖它之前,我会做一些仔细的测试,然后可能仍然会有一个安全网.methodin-这会起作用,但您确实不需要执行.replace('px','')
,因为这不会干扰parseInt()
。另外,您不需要在.css()
调用中添加“px”
,因为传递整数时会假定这一点。最后一件事是,应该考虑缓存“代码”>MyOIDID<代码>元素,而不是连续选择两次。所有有效的点。parseInt一直都是这样吗?我一定在想我的ie6 Javascript days.methodin——我相信它是ie6安全的,但仔细检查也不是个坏主意。当然,有这样的保护措施不会有多大伤害。只是可能没有必要o) methodin-这会起作用,但您确实不需要执行.replace('px','')
,因为这不会干扰parseInt()
。另外,您不需要在.css()
调用中添加“px”
,因为传递整数时会假定这一点。最后一件事是,应该考虑缓存“代码”>MyOIDID<代码>元素,而不是连续选择两次。所有有效的点。parseInt一直都是这样吗?我一定在想我的ie6 Javascript days.methodin——我相信它是ie6安全的,但仔细检查也不是个坏主意。当然,有这样的保护措施不会有多大伤害。只是可能没有必要o)
var x = 20;
$('#my_id').css('margin-top', function(index, value) {
if (isNaN(parseInt(value)))
return x;
return parseInt(value) + x
});
var inc = 20;
var mt = parseInt($('#my_id').css('margin-top').replace('px',''));
$('#my_id').css('margin-top',(mt+inc)+"px");