在没有jquery的DOM上运行D3代码
running D3 code on DOM ready without jquery
根据这个SO问题/答案的建议,我把我的D3代码在html下面,并在执行onload
的函数内,然而,当我在我的MAMP本地服务器上测试时,D3代码没有执行。注意,如果我在控制台中运行runD3code
,则会出现预期的条形图,但如果我在index.html中的runD3code
函数中包含该代码,则条形图不会出现。我还注意到,在html下面包含D3是库作者在这里所做的。
<!DOCTYPE html>
<meta charset="utf-8">
<style type="text/css">
.chart div {
font: 10px sans-serif;
background-color: steelblue;
text-align: right;
padding: 3px;
margin: 1px;
color: white;
}
</style>
<body onload="runD3code()">
<div class="chart">
</div>
<script src="./d3.js" charset="utf-8">
<script>
function runD3code() {
console.log("not getting called");
var data = [4, 8, 15, 16, 23, 42];
d3.select(".chart")
.selectAll("div")
.data(data)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
}
</script>
</body>
然后,我甚至试着把它放在一个文档准备等效,但D3代码仍然没有运行
(function(){
var tId = setInterval(function(){if(document.readyState == "complete") onComplete()},11);
function onComplete(){
clearInterval(tId);
var data = [4, 8, 15, 16, 23, 42];
d3.select(".chart")
.selectAll("div")
.data(data)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
};
})()
你能建议一个解决这个问题的方法吗? 问题是您的html文件无效。语法错误太多
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
.chart div {
font: 10px sans-serif;
background-color: steelblue;
text-align: right;
padding: 3px;
margin: 1px;
color: white;
}
</style>
</head>
<body>
<div class="chart"></div>
<script src="./d3.js" charset="utf-8"></script>
<script>
window.onload = function runD3code() {
console.log("not getting called");
var data = [4, 8, 15, 16, 23, 42];
d3.select(".chart")
.selectAll("div")
.data(data)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
};
</script>
</body>
</html>
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- d3实现可以在firefox/chrome上运行,但不能在iPad上运行
- D3图表在jsfiddle上运行良好,但在localhost上则不然
- 如何在 MAMP 本地服务器中运行 d3 Javascript
- D3.js键功能在简单的选择器/数组组合上运行两次
- D3 javascript/json 不会运行
- 我想从Cakefile运行d3
- d3.文本按顺序运行
- 在没有jquery的DOM上运行D3代码
- Chrome不运行我的D3.js,但它在safari中工作良好
- D3+传单map.on()问题-运行函数期间(或之后)拖动事件
- D3转换不运行
- 如何在D3.js中运行一个又一个函数
- 如何用Jasmine在Angular应用程序中模拟d3.json()调用,用Karma任务运行器进行测试
- 在 clojure 中运行 D3.js