jQuery .each() 通配符 - 选择以特定字符串开头的类的所有元素

Kas*_*Lee -1 html jquery animation css-selectors jquery-selectors

我正在制作不同的动画div(jQuery 和 jQuery UI),因此我创建了 、 、 等类slideinfadein并且我可以将它们应用到我需要制作动画的任何内容。在我的 Javascript 文件中,.each()运行一个循环来查找具有fadein或类的每个元素sidein

我想要做的是能够通过添加 类来选择动画需要多长时间fadein-x,其中x是它花费的毫秒数。例如:

.fadein-500- 元素将需要500几毫秒才能淡入

.slidein-1000- 元素将需要1000几毫秒才能滑入

使用.each()函数,我可以循环遍历具有特定类的元素,但是我可以循环遍历具有以特定字符串(如通配符)开头的类的所有元素吗?也许是这样的(*通配符在哪里):

$('.fadein-*').each(...)
Run Code Online (Sandbox Code Playgroud)

上面将选择具有该类的所有元素fadein-,然后我可以对类进行切片以获取时间,并应用动画。

所以,总而言之,这就是我想要的:

能够使用可自定义的时间对元素进行动画处理,而无需更改 Javascript 文件

如果还有其他方法可以完成我想做的事情,请告诉我!谢谢

注意:我需要这个的原因是因为我正在创建一个 Wordpress 主题,并且我将使用 PHP 来回显用户输入的时间。显然,我不想每次都以毫秒为单位创建 3000 个不同的类

另外,这个问题不一样,OP问的是不同的东西

And*_*rew 5

我建议使用数据属性:

$('.fadein').each(function() {
  var duration = $(this).data('duration') ? $(this).data('duration') : 500; // a sane default
  $(this).fadeIn(duration);
});
Run Code Online (Sandbox Code Playgroud)
<p class="fadein" data-duration="1500">1500 ms!</p>
Run Code Online (Sandbox Code Playgroud)