jquery - 如何创建定期更改颜色的多色文本字符串(如拉斯维加斯横幅)

标签 jquery html css jquery-ui

我正在尝试为多色页面创建横幅/标题 - 并且每 10 秒更改一次这些颜色(基于配置值)

我有以下 fiddle ( http://jsfiddle.net/Mv4pw/21/ ) 使用 jquery 提供多色文本。我不知道如何让颜色每隔几秒改变一次。可以循环使用颜色变量中指定的颜色。

我正在尝试查看如何更新文本(比如每 10 秒一次)以便文本中的颜色发生变化 - 就像拉斯维加斯的横幅一样?

JavaScript 代码

    var colours = ["red", "orange", "yellow", "pink", "purple", "blue", "brown"],
        idx;

    $(function () {
        $('.rainbow').html(function (_, html) {
            var ret = $([]);
            $.each(html.split(''), function (_, letter) {
                var idx = Math.floor(Math.random() * colours.length);
                var span = $('<span />', {
                    text: letter,
                    css: {
                        color: colours[idx]
                    }
                });
                ret = ret.add(span);
            });
            return ret;
        });
    });

html代码

 <div class="rainbow"> ..... some text here .... </div>

jsfilddle:http://jsfiddle.net/Mv4pw/21/

感谢任何更新。

问候

最佳答案

这是我想出的:

var colors = ["red", "orange", "yellow", "pink", "purple", "blue", "brown"];
var title = "See Live Monkeys";
var interval = 10000;

function randomizeTextColor() {
    $(".rainbow").empty();
    for (var i = 0; i < title.length; i++) {
        var color = colors[Math.floor(colors.length * Math.random())];
        var letter = $("<span>", {
            text: title.charAt(i),
            css: {
                color: color
            }
        });
        $(".rainbow").append(letter);
    }
}

$(randomizeTextColor);

window.setInterval(randomizeTextColor, interval);

修改后的代码

var colors = ["red", "orange", "yellow", "pink", "purple", "blue", "brown"];
var interval = 500;

function randomizeTextColor(element) {
    var text = $(element).text();
    $(element).empty();
    for (var i = 0; i < text.length; i++) {
        var color = colors[Math.floor(colors.length * Math.random())];
        var letter = $("<span>", {
            text: text.charAt(i),
            css: {
                color: color
            }
        });
        $(element).append(letter);
    }
}

function randomize(selector) {
    $(selector).each(function() {
        randomizeTextColor(this);
    });
}

$(randomize(".rainbow"));
window.setInterval(function() { randomize(".rainbow") }, interval);

关于jquery - 如何创建定期更改颜色的多色文本字符串(如拉斯维加斯横幅),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25110443/

相关文章:

html - 背景图像适合带有引导列的 div 宽度和高度 - PARALLAX

jquery - LI 标签内的 block 级元素导致 LI 标签比它的子内容高。这可以避免吗?

jquery - 从表单创建自定义 JSON 字符串

javascript - 单击更改某些视频源

javascript - Jquery Google map 地点 - 获取选择选项

html - 表格,允许一列有很多空间,同时强制其他列具有相同的宽度

jquery - CSS 和 HTML - 如何使 div 不重叠?

jquery - 如何使用jQuery读取多级Json数据?

html - 更改禁用的输入文本框的字体颜色?

javascript - 如何在 DHTMLX 图表中创建可滚动图表