好的我有d3.js的这个脚本,我是从网上提取的。
function draw() {
var w = 600,
h = 400,
z = d3.scale.category20b(),
i = 0;
var svg = d3.select("div.container2").append("svg:svg")
.attr("width", w)
.attr("height", h)
.on("mousemove", particle);
}
function particle() {
var m = d3.mouse(this);
svg.append("svg:rect")
.attr("x", m[0] - 10)
.attr("y", m[1] - 10)
.attr("height", 20)
.attr("width", 20)
.attr("rx", 10)
.attr("ry", 10)
.style("stroke", z(++i))
.style("stroke-opacity", 1)
.style("opacity", 0.7)
.transition()
.duration(5000)
.ease(Math.sqrt)
.attr("x", m[0] - 100)
.attr("y", m[1] - 100)
.attr("height", 200)
.attr("width", 200)
.style("stroke-opacity", 1e-6)
.style("opacity", 1e-6)
.remove();
}
The part of the asp.net that called the function is simply
<script src="js/d3Script.js"></script>
<script>
draw();
</script>
现在,当我将带有Java的draw函数直接替换到ASP页面时,它可以正常工作。当我从js文件中调用它时,它会绘制画布,但没有任何反应。
调用粒子函数(我使用警报检查)但没有绘制任何内容。所有其他所需的js文件都已到位。
我错过了一些简单的事情吗?谢谢!
答案 0 :(得分:0)
简单地调用Javascript
<script type="text/javascript">
function draw() {
var w = 600,
h = 400,
z = d3.scale.category20b(),
i = 0;
var svg = d3.select("div.container2").append("svg:svg")
.attr("width", w)
.attr("height", h)
.on("mousemove", particle);
}
</script>
<script type="text/javascript">
function particle() {
var m = d3.mouse(this);
svg.append("svg:rect")
.attr("x", m[0] - 10)
.attr("y", m[1] - 10)
.attr("height", 20)
.attr("width", 20)
.attr("rx", 10)
.attr("ry", 10)
.style("stroke", z(++i))
.style("stroke-opacity", 1)
.style("opacity", 0.7)
.transition()
.duration(5000)
.ease(Math.sqrt)
.attr("x", m[0] - 100)
.attr("y", m[1] - 100)
.attr("height", 200)
.attr("width", 200)
.style("stroke-opacity", 1e-6)
.style("opacity", 1e-6)
.remove();
}
</script>
并且功能draw()
和particle()
会调用您的要求。