Javascript jquery可以循环和设置动画

Javascript jquery可以循环和设置动画,javascript,jquery,Javascript,Jquery,我有一些span标签: <span w="560"></span> <span w="340"></span> <span w="120"></span> 有什么建议吗 谢谢。没有上下文,这没有任何意义 使用$。每个循环和代码都应该工作,因为这将引用迭代中的当前跨度 $('span').each(function() { $(this).animate({width: $(this).attr('w') + 'px

我有一些span标签:

<span w="560"></span>
<span w="340"></span>
<span w="120"></span>
有什么建议吗

谢谢。

没有上下文,这没有任何意义

使用$。每个循环和代码都应该工作,因为这将引用迭代中的当前跨度

$('span').each(function() {
    $(this).animate({width: $(this).attr('w') + 'px'}, 2000);
  });
更新

正如adeneo所建议的,在使用自定义属性时不会验证HTML。在它前面加上数据,这样你的HTML也会被验证

<span data-w="560"></span>
要访问它,您可以使用

$this.data'w';或者$this.attr'data-w'

这在没有上下文的情况下没有任何意义

使用$。每个循环和代码都应该工作,因为这将引用迭代中的当前跨度

$('span').each(function() {
    $(this).animate({width: $(this).attr('w') + 'px'}, 2000);
  });
更新

正如adeneo所建议的,在使用自定义属性时不会验证HTML。在它前面加上数据,这样你的HTML也会被验证

<span data-w="560"></span>
要访问它,您可以使用


$this.data'w';或者$this.attr'data-w'

使用有效的属性,如data-w:

<span data-w="560"></span>
<span data-w="340"></span>
<span data-w="120"></span>

使用有效的属性,如data-w:

<span data-w="560"></span>
<span data-w="340"></span>
<span data-w="120"></span>

在这里,它工作得很好!但是有没有办法让它们一个接一个地动画,而不是一起动画?有没有办法使动画时间取决于每个跨度的目标宽度,这样200px的跨度需要2000ms,50px的跨度只需要500ms?对于一个接一个的动画,用户可以将它们排队。。。您还可以根据宽度动态设置时间。。计算跨度的宽度。。它是200px,将一个变量设置为2000,并在动画方法中使用该变量。在这里,它可以完美地工作!但是有没有办法让它们一个接一个地动画,而不是一起动画?有没有办法使动画时间取决于每个跨度的目标宽度,这样200px的跨度需要2000ms,50px的跨度只需要500ms?对于一个接一个的动画,用户可以将它们排队。。。您还可以根据宽度动态设置时间。。计算跨度的宽度。。将变量设置为2000并在动画方法中使用该变量是200px即使在HTML5中,“w”属性有效吗即使在HTML5中,“w”属性是否有效