Javascript代码在asp.net中工作,但在从文件中作为函数调用时则不行

时间:2015-12-02 12:29:54

标签: javascript asp.net

好的我有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文件都已到位。

我错过了一些简单的事情吗?谢谢!

1 个答案:

答案 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()会调用您的要求。