javascript - 如何使用 jquery 在 (,) 拆分后随机更改文本的颜色

标签 javascript jquery

我正在尝试解决这个问题,但我无法解决它.. 我从数据库中获取文本,滚动的字幕文本, 关键是,我想随机更改文本的颜色 在每个逗号(,)分隔之后...... 我可以随机更改页面加载的文本,但整个 文本已更改。我想在 omma 之后更改文本.. 例如。 你好我是尼克
现在你好应该以不同的颜色显示,等等......

这是我的代码,但它所有的文本颜色都是随机的

        var colours = Array("yellow", "white", "green", "orange"), indexNo;
        $('#header').each(function (index, character) {
            indexNo = Math.floor(Math.random() * colours.length);
            //alert(idx);
            $('#header').css("color", colours[indexNo]);

        });

    }, function () {
        $('#header', this).css("color", "#ddd");
    });

最佳答案

$("#header").each 不是必需的,因为只有其中一个。您可以只使用字符串 .split 方法。

$("#header").html(function (_, html) {
    return html.split(',').reduce(function (prev, cur) {
        return prev + "<span style='color: " +
          colours[Math.floor(Math.random() * colours.length)] + ";'>"
          + cur + "</span>";
    }, '');
});

http://jsbin.com/abikin/1/edit

编辑:如果逗号不必放在跨度内,您可以改用它:

return html.split(',').map(function (elem) {
    return "<span" ... + elem + "</span>"
}).join(',');

http://jsbin.com/abikin/3/edit

关于javascript - 如何使用 jquery 在 (,) 拆分后随机更改文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15037420/

相关文章:

javascript - 使用 pathAnimator javascript 时出现 SVG 错误

javascript - 可以预加载使用 canLoad 的模块吗?

javascript - 这是检查 URL 是否引用 JS/jQuery 中的图像的有效测试吗

javascript - 将表添加到我的 dojo 代码中

javascript - 将元素克隆附加到 d3js 中的 svg 组

javascript - 获取node.js中最后一个插入id并将其传递给第二个查询

javascript - 试图选择除一个以外的所有 - not() Jquery Selector

javascript - jssor slider 宽度问题

javascript - 如何关闭或重新加载后显示相同的内容

javascript - (jQuery) 使用 extend() 访问自定义属性时出现问题