每个元素的功能

时间:2011-07-19 14:31:00

标签: javascript jquery

我有一个功能:

setInterval ( doSomething, 100 );

function doSomething ( )
{
$("#i_msl").animate({ top: "-150px",}, 1000 ).delay(1000);
$("#i_msl").animate({ top: "-300px",}, 1000 ).delay(1000); 
$("#i_msl").animate({ top: "0px",}, 1000 ).delay(1000); 
}

但它仅适用于一个元素。如何在页面上使用#i_msl使其适用于所有元素?

4 个答案:

答案 0 :(得分:3)

您正在为多个元素分配ID。你不能这样做。试着给他们一个班级:

class="i_msl"

您可以使用$(“。i_msl”)

访问它

答案 1 :(得分:2)

你做不到。每页只能有一个唯一的id。将其从id更改为class,并按$('.i_msl')进行定位。

答案 2 :(得分:2)

选择器#i_msl用于特定ID;这些应该在页面上是唯一的。相反,为每个元素分配一个唯一的类,例如:

class="my-class"

然后只需使用类选择器选择它们:

$(".my-class").animate({ top: "-150px",}, 1000 ).delay(1000);
$(".my-class").animate({ top: "-300px",}, 1000 ).delay(1000); 
$(".my-class").animate({ top: "0px",}, 1000 ).delay(1000); 

答案 3 :(得分:1)

#i_msl是ID选择器。您可以(应该)在页面上只有一个具有特定ID的项目。如果您需要多个元素来匹配选择器,请使用类:.i_msl

此外,每setInterval都会调用100ms,这可能会导致动画执行时间超过间隔时执行问题。