D3 SVG из внешнего файла js - PullRequest
0 голосов
/ 09 мая 2019

Как получить команды, связанные с D3, во внешнем файле js.

Когда я помещаю эти команды в тег внутри тега index.html, это работает. Однако, когда я перемещаю эти cmds во внешний файл js, это не работает. Я что-то пропустил или невозможно вызвать D3 из другого файла js.

//this works
<body>
        <script>
        var svg = d3.select("body").append("svg");

            svg.attr("width", 250);
            svg.attr("height", 250);

            var rect = svg.append("rect");

            rect.attr("x", 50);
            rect.attr("y", 50);
            rect.append("style", "fill:blue");
            rect.attr("width", 80);
            rect.attr("height", 80);
        </script>
</body>
//this doesn't work
//inside bhha.js. 
//bhha.js is called from <script> tag in the main html
var svg = d3.select("body").append("svg");

svg.attr("width", 250);
svg.attr("height", 250);

var rect = svg.append("rect");

rect.attr("x", 150);
rect.attr("y", 150);
rect.attr("width", 20);
rect.attr("height", 20);

1 Ответ

0 голосов
/ 09 мая 2019

Если вы добавили внешний файл JS в <head>, он может не работать.Если вы поместите свой внешний JS-скрипт в <body>, он будет работать.Попробуйте ниже, у меня это сработало:

<html>
    <head>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.9.2/d3.min.js"></script>
    </head>
    <body>
        <script src="bhha.js"></script>
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...