Javascript jquery可以循环和设置动画
我有一些span标签: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 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”属性是否有效