Печать Json Data в Html

function foo(data)
{
    // do stuff with JSON
}

var script = document.createElement('script');
script.src = '//example.com/path/to/jsonp?callback=foo'

document.getElementsByTagName('head')[0].appendChild(script);
// or document.head.appendChild(script) in modern browsers
-5
задан disheet pithadia 13 July 2018 в 06:14
поделиться

1 ответ

EDIT Matthias Schmidt добавил функцию смены стрелок к моему коду

Я сделал этот фрагмент. Это то, что вы ищите? Вы также можете проверить его на https://jsfiddle.net/hkedLpbq/8/

var data = [
{
    "Frame_count":1,

        "Objects_detected":1,
        "Objects_classname":"car",
        output:{

            "x":20,
            "y":45,
            "width":300,
            "height":100,
        },

},
{
    "Frame_count":2,

        "Objects_detected":2,
        "Objects_classname":"car",
        output:{

            "x":20,
            "y":45,
            "width":300,
            "height":100,

            "x":25,
            "y":5,
            "width":70,
            "height":10,

        },

}];


function getTemplate(index, frame, objects){
	let template = '<div class="wrapper" id='+ index +'>' +
  '<div class="frame">'+ frame +'</div>' +
  
  '<div class="subWrapper">' +
    '<div class="objects">'+ objects +'</div>' +
    '</div>' +
  '</div>' +
'</div>';
return template;
}

function getSubTemplate(className, x, y, width, height){
 let subTemplate = '<div class="className">'+ className +'</div>' +
    
    '<div class="subSubWrapper">' +
      '<div class="co-ordinates"></div>' +
      
      '<div class="subSubSubWrapper">' +
        '<div class="x">'+ x +'</div>' +
        '<div class="y">'+ y +'</div>' +
        '<div class="width">'+ width +'</div>' +
        '<div class="height">'+ height +'</div>' +
      '</div>';
 return subTemplate;
}


for(var i = 0; i < data.length; i++){
	var frameCount = data[i].Frame_count;
  
	if(data[i].Objects_detected > 0){
  	var objectsDetected = data[i].Objects_detected;
    
    if(data[i].Objects_classname){
  		var objectsClassname = data[i].Objects_classname;
  	}
    if(data[i].output.x){
  		var x = data[i].output.x;
  	}
    if(data[i].output.y){
  		var y = data[i].output.y;
  	}
    if(data[i].output.width){
  		var width = data[i].output.width;
  	}
    if(data[i].output.height){
  		var height = data[i].output.height;
  	}
    
    $(".content").append(getTemplate(i, frameCount, objectsDetected));
    for(var ii = 0; ii < data[i].Objects_detected; ii++){
    	$(".wrapper#"+i).find(".subWrapper").append(getSubTemplate(objectsClassname, x, y, width, height));
    }
    
  } else {
  	$(".content").append(getTemplate(i, frameCount, 0));
  }
}

$(".frame").on("click", function(){
	var $clickedParent = $(this).parent();
  $(this).toggleClass("open");
  var $subWrapper = $clickedParent.find(".subWrapper");
  
  if($subWrapper.css("display") == "none"){
  	$subWrapper.css("display", "block");
  } else if($subWrapper.css("display") == "block"){
  	$subWrapper.css("display", "none");		
  }
});

$(".className").on("click", function(){
	var $toOpen = $(this).next();
  $(this).toggleClass("open");
  
  if($toOpen.css("display") == "none"){
  	$toOpen.css("display", "block");
    $toOpen.children().css("display", "block");
  } else if($toOpen.css("display") == "block"){
  	$toOpen.css("display", "none");
    $toOpen.children().css("display", "none");
  }
});
@charset "UTF-8";
body {
  font-family: sans-serif;
}

*:before, *:after {
  color: #3a3a3a;
  font-weight: bold;
}

.wrapper {
  width: 100%;
  color: #e24444;
}
.wrapper .frame:before {
  content: "Frame: ";
}
.wrapper .frame:after {
  content: " ►";
}
.wrapper .subWrapper {
  margin-left: 10%;
  display: none;
}
.wrapper .subWrapper .objects:before {
  content: "Objects Detected: ";
}
.wrapper .subWrapper .className:before {
  content: "Class Name: ";
}
.wrapper .subWrapper .className:after {
  content: " ►";
}
.wrapper .open:after {
  content: " ▼" !important;
}
.wrapper .subSubWrapper {
  margin-left: 20%;
  display: none;
}
.wrapper .subSubWrapper .co-ordinates:before {
  content: "Co-ordinates: ";
}
.wrapper .subSubSubWrapper {
  margin-left: 30%;
  display: none;
}
.wrapper .subSubSubWrapper .x:before {
  content: "X: ";
}
.wrapper .subSubSubWrapper .y:before {
  content: "Y: ";
}
.wrapper .subSubSubWrapper .width:before {
  content: "Width: ";
}
.wrapper .subSubSubWrapper .height:before {
  content: "Height: ";
}

.visible {
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content">
  
</div>

1
ответ дан David 17 August 2018 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: