我有一个功能:
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使其适用于所有元素?
答案 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
,这可能会导致动画执行时间超过间隔时执行问题。