在jquery中循环使用颜色

时间:2014-11-16 13:16:32

标签: jquery

我是HTML / CSS / jQuery的新手,我正在做一个毫无意义的项目,试图熟悉一些基本功能。我希望点击表格中的各个单元格来更改其他单元格的属性,循环显示颜色。

我试图从这个答案中获取指导​​:Cycle through multiple background colors - Seeking code improvement,但我的尝试都失败了。切换是最简单的,但这显然不再是一件事,我无法弄清楚为什么我的替代解决方案(灵感来自这个工作小提琴:http://jsfiddle.net/amantur/pqyxM/8/)不起作用:

var main = function () {
    var colors = ['blue', 'red', 'yellow', 'purple', 'green'];
    var ln = colors.length;

    $('#textswitch').click(function() {
        var i = $('#holder').data('index');
        ++i;
        if (i >= ln) i = 0;
        $('texty').css('color', colors[i]);
        $('#holder').data('index', i);
    }); 
};
$(document).ready(main);

我怀疑我犯了一些可怕的罪行,比如混合使用JavaScript和jQuery元素,但我不知道还是要确定或修复它。能够了解更多相关信息的人能否对此有所了解?我的完整小提琴在这里:http://jsfiddle.net/sishu7/mq7jgjgL/2/,但显然这部分不起作用。

1 个答案:

答案 0 :(得分:1)

试试这个:

var main = function () {
    var colors = ['blue', 'red', 'yellow', 'purple', 'green'];
    var ln = colors.length;
    var curr = 0;
    $('#textswitch').click(function() {
        $('.texty').css('color', colors[curr]);
        $('#holder').data('index', curr);
        curr++;
        if (curr >= ln)
            curr = 0;
    }); 
};
$(document).ready(main);

Fiddle

您在选择器.之前也错过了texty