Das Beispiel in diesem Artikel beschreibt, wie man mit jQuery ein einfaches Histogramm erstellt. Teilen Sie es als Referenz mit allen. Die spezifische Implementierungsmethode lautet wie folgt:
Html-Teil:
CSS-Teil:
Code kopieren
Der Code lautet wie folgt:
/*Das Folgende ist der Histogrammstil*/
.histogram-content li{float:left;height:100%;text-align:center;position:relative;}
Code kopieren
Der Code lautet wie folgt:
$(function(){
var dataArr={
"Daten":[
{"id":1,"name": "Baidu", "per": "10"},
{"id":2,"name": "Tencent", "per": "20"},
{"id":3,"name":Sina,per:10"},
{"id":4,"name": "NetEase", "per": "44"},
{"id":5,"name":"Sohu", "per": "50"},
{"id":5,"name":Kleiner Grundel,"per":69"},
{"id":5,"name": "人人网", "per": "72"},
{"id":5,"name": "iQiyi", "per": 88"},
{"id":5,"name": "Qihoo 360", "per": "92"},
{"id":5,"name": "Alibaba", "per": "15"},
{"id":5,"name": "Alibaba", "per": "10"}
] ]
};
neues Histogramm().init(dataArr.data);
});
Funktionshistogramm(){
var control={};
var bgColor=new Array("#666666",#21AA7C,#2277BB,#dc7644,#BBAA22,#AA22AA,#338800,#1099EE,#ffcc33" ,"#ED3810");
This.init=function(data,y){
setControls();
buildHtml(data,y);
}
Funktion setControls(){
Controls.histogramContainer=$("#histogram-container"
Controls.histogramBgLineUL=controls.histogramContainer.children("div.histogram-bg-line");
Controls.histogramContentUL=controls.histogramContainer.children("div.histogram-content");
Controls.histogramY=controls.histogramContainer.children("div.histogram-y");
}
Funktion buildHtml(data,y){
var len=data.length,perArr=new Array(),maxNum,maxTotal,yStr=''
var contentStr='',bgLineStr='',bgLineAll=''
var widthPer=Math.floor(100/len);
minWidth=len*21 60;
Controls.histogramContainer.css("min-width",minWidth "px");
for(var a=0;a
var x=parseInt(maxNum.substr(maxNum.length-2,1)) 1;
maxTotal=Math.floor(parseInt(maxNum/100))*100 x*10;
}sonst{
maxTotal=Math.floor(parseInt(maxNum/10))*10 10;
//y-Achsenteil
If(y=="%"){
yStr ='
var avg=maxTotal/5;
for(i=5;i>=0;i--){
yStr ='
}
}
//柱状条部分
for(var i=0;i
var n=Math.floor(parseInt(per)/10);
contentStr ='
contentStr ='' data[i]['name'] '';
contentStr ='
bgLineStr ='
}
//背景方格部分
for(var j=0;j<5;j ){
bgLineAll ='' bgLineStr '
';
}
bgLineAll='
contentStr='' contentStr '
yStr='' yStr '
Kontrollen.histogramContainer.html(bgLineAll contentStr yStr);
Controls.histogramContainer.css("height",controls.histogramContainer.height() "px");//主要是解决IE6中的问题
}
}
Array.prototype.max = function(){//最大值
return Math.max.apply({},this)
}
Sie haben die jQuery-Version mit jQuery erstellt.