0

我正在为客户构建一个 Wordpress 主题,我的设计师认为在悬停时只为菜单项的一个字母着色会很有趣。我试图让它与 lettering.js( http://letteringjs.com/ ) 一起工作,但这样我就必须准确地指定我想在 CSS 中为哪个字母着色,我的 CSS 很快就变成了一团 nth-child选择器之类的。

我想以一种从列表项中的链接中选择一个随机字母(只是一个随机字母,而不是多个)的方式使用 jQuery,并在悬停时将其着色为指定的颜色。我发现了这一点:更改段落中随机字母的颜色并尝试对其进行编辑以适用于我的情况,但我无法使其正常工作。

任何人都可以提出解决方案吗?

4

1 回答 1

2

您可以使用任何字符串作为字符数组;例如,您可以通过索引"abc"[0]slice它来访问它。

所以给定一个随机索引,index你也许可以把它分成

text.slice(0, index) // part before target character
+ text[index] // target character
+ text.slice(index+1) // part after target character

那么,一个完整的解决方案可能如下所示:

    var text = $.trim($(this).text());
    var index = getRandom(text.length);

    $(this).html(
        [text.slice(0, index), '<span class="colored">', text[index], '</span>', text.slice(index+1)].join('')
    );

演示。重新加载以重新随机化。

请注意,这不包括诸如随机字符是空格之类的东西。一个简单的解决方案可能是投入类似的东西

while(text[index] == ' ') index = getRandom(text.length);
于 2013-04-18T10:21:27.957 回答