Html 将d3脚本添加到div
我有不同的Html 将d3脚本添加到div,html,d3.js,Html,D3.js,我有不同的,我正在尝试加入一些d3 这是我的部门 <div id="pagepiling"> <div id = "frequence" class="section" id="section1"></div> <div id = "menu" class="section" id="section2"></div> <div class="section" id="section3"></
,我正在尝试加入一些d3
这是我的部门
<div id="pagepiling">
<div id = "frequence" class="section" id="section1"></div>
<div id = "menu" class="section" id="section2"></div>
<div class="section" id="section3"></div>
<div class="section" id="section4"></div>
</div>
这是我的d3频率
<script>
var frequ = [];
d3.xml("database_menus.xml", "application/xml", function(xml) {
var dataset = [];
var data = xml.documentElement,
sections = data.getElementsByTagName("menubar");
for (var i = 0, lenS = sections.length; i < lenS; i++) {
nom = sections[i].getAttribute("appname");
dataset.push(nom);
frequ[nom] = (Math.random()*20)+15;
}
var fill = d3.scale.category20b();
var width = window.innerWidth,
height = window.innerHeight;
d3.layout.cloud().size([width,height])
.words(dataset.map(function(d) {return {text: d, size: frequ[d]}}))
.padding(5)
.rotate(function() { return ~~(Math.random() * 2)})
.font("Impact")
.fontSize(function(d) { return d.size; })
.on("end", draw)
.start();
function draw(words) {
words.sort(compare);
var text = d3.select("#frequence").append("svg")
.attr("width", width)
.attr("height", height)
.attr("x", 500)
.append("g")
.attr("transform", "translate("+(width/2)+","+(height/2)+")")
.selectAll("text")
.data(words)
.enter().append("text")
.style("font-size", function(d) { return d.size + "px"; })
.style("font-family", "Berlin Sans Fb")
.style("fill", function(d, i) { return fill(i); })
.attr("text-anchor", "middle")
.style("text-anchor", "middle")
.on("click", function(d){ var url ='strt_visu_boxes.html?app=';
//modifier " " en "_"
var t ="";
for (var i=0; i<d.text.length;i++){
if (d.text[i]==" "){
t += "_";
} else {
t += d.text[i];
}
}
url += t;
//window.location = url;
})
.on("mouseover", function(d) {
d3.select(this).style("font-size", function(d) {
if (d.size>20){
return d.size*1.5 + "px";
} else {
return d.size*2 + "px";
} })})
.on("mouseout", function(d) { d3.select(this).style("font-size", function(d) { return d.size + "px"; })})
.text(function(d) { return d.text; });
//fly-in animation
text.transition().duration(3000).attr("transform", function(d) {return "translate(" + [d.x, d.y] + ")";}).ease("elastic")
}
function mouseover() {
d3.select(this).select("circle").transition()
.duration(750)
.style("font-size", 50);
}
function mouseout() {
d3.select(this).select("circle").transition()
.duration(750)
.style("font-size", 10);
}
function compare(a,b) {
if (a.text < b.text)
return -1;
if (a.text > b.text)
return 1;
return 0;
}
});
</script>
var frequ=[];
xml(“database_menus.xml”、“application/xml”、函数(xml){
var数据集=[];
var data=xml.documentElement,
sections=data.getElementsByTagName(“菜单栏”);
对于(var i=0,lenS=sections.length;ib.text)
返回1;
返回0;
}
});
我看不出我做错了什么。。。
(我的代码按此顺序排列在..之间)有什么问题?有错误吗?如果您
console.log
在
中看到一些东西,您会在dev控制台中看到它吗?d3包括在页面上吗?没有任何错误,只是没有显示任何内容。。如果我是console.debug,它会显示出来,是的,d3也包括在内!感觉我的
不起作用,但是如果没有一个可复制的示例(可能创建一个JSFIDLE或Plunker),我不明白为什么这有点难回答,但是快速浏览一下,我注意到的第一件事是重复的Id属性:
感谢您的兴趣,这里有一个链接:我想我把所有东西都放进去了。