这个块的更多功能编码方式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个块的更多功能编码方式?相关的知识,希望对你有一定的参考价值。

我正在从3个不同的链接中读取此颜色值,并将其设置为某些div的背景颜色。我想知道的是,如果有更好的方法,我将不必重复自我。现在只有它的颜色值,但是对于下一步,我必须阅读一个包含更多信息的json文件。谢谢你!

$(function() {
    $.getJSON("url", function(receiveStatusPravdev01){
      var colorBox1 = receiveStatusPravdev01.status;
      $('#box1').css('background', colorBox1);
    });
    $.getJSON("url", function(receiveStatusPravdev02){
      var colorBox2 = receiveStatusPravdev02.status;
      $('#box2').css('background', colorBox2);
    });
    $.getJSON("url", function(receiveStatusPravdev03){
      var colorBox3 = receiveStatusPravdev03.status;
      $('#box3').css('background', colorBox3);
    });
});
答案

你想要它功能吗?使用function

$(function() {
  function loadAndSetColor(url, selector) {
    $.getJSON(url, function(receiveStatusPravdev){
      var colorBox = receiveStatusPravdev.status;
      $(selector).css('background', colorBox);
    });
  }
  loadAndSetColor("url", '#box1');
  loadAndSetColor("url", '#box2');
  loadAndSetColor("url", '#box3');
});
另一答案

您可以减少进行AJAX调用和更改颜色的冗余。

function changeColor(el, response) {
  $(el).css('background', response.status);
}
 
[
  {url: "url1", box:"#box1"}, 
  {url: "url2", box:"#box2"}, 
  {url: "url3", box:"#box3"}
].forEach(data => {
  $.getJSON(data.url, function(response) {
    changeColor(data.box, response)
  });
});

以上是关于这个块的更多功能编码方式?的主要内容,如果未能解决你的问题,请参考以下文章

从零开始配置vim(27)——代码片段

如何有条件地将 C 代码片段编译到我的 Perl 模块?

Swift 4 中不确定代码块的 Try-catch 功能

用于多个同步块的Java

Java方法

InputStream的三个read的区别