代码之家  ›  专栏  ›  技术社区  ›  Othello

如何在使用javascript和jquery重新加载页面时添加颜色

  •  0
  • Othello  · 技术社区  · 6 年前

    我创造了一系列的颜色。我正在尝试使用colors.for each内部的ready函数来为此数组中的每种颜色调用addbox。计划是我看到所有的颜色都在页面重新加载时添加。如果你需要HTML代码请告诉我

    function addBox(color) {
        $('#colors').prepend('<div class="item" style="background-color: ' + color + ';"></div>');
    }
    
    
    var colors = ['22ac5e', 'd68236', '770077'];
    
    // I think my problem lies after this line
    $(document).ready(function () {
    //  var colors = ['22ac5e', 'd68236', '770077'];
        colors.forEach(addBox(color))
    
    });
    

    多谢提前。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Rory McCrossan    6 年前

    你在提供 结果 属于 addBox(color) forEach() 循环,你实际上并没有提供 参考 那个函数,所以它可以被调用。

    有两种方法可以修改你的代码,使之有效。首先,一个匿名函数:

    colors.forEach(function(color) {
      addBox(color)
    });
    

    如果你根本不需要IE支持,也可以使用箭头功能:

    colors.forEach(color => addBox(color));
    

    最后注意css中的十六进制颜色需要 # 前缀:

    '... style="background-color: #' + color + ';" ...'