質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

371閲覧

[javascript]console.log以外の確認方法

maigoneko

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/12/03 17:08

編集2017/12/03 17:21

###前提・実現したいこと
現在d3.jsを用いたグラフ表示をしたいと思っています。
しかし描画できていません。原因を探るためnodesとlinksの流れを見ています。そこで function drawForce() { 以下でnodesとlinksの確認したいと思っています。
しかしconsole.logでは見ることができません。
他にnodesとlinksを確認する方法はないでしょうか?

javascript

1var nodes = new Array(); 2var links = new Array(); 3$.ajax({ 4 url: 'json4.php', 5 type: "GET", 6 dataType: 'json', 7 scriptCharset:'utf-8', 8 }).done(function(data){ 9console.log("ajax通信に成功しました"); 10nodes = data["nodes"]; 11links = data["links"]; 12/* 13console.log(nodes); 14console.log(links); 15console.log(nodes[0].url); 16console.log(data.nodes[0].url); 17*/ 18//以下描画処理 19function drawForce() { 20 var width = 1200; 21 var height = 600; 22console.log(nodes); //表示されない 23console.log(links); //表示されない 24 25 var force = d3.layout.force() 26 .nodes(nodes) 27 .links(links) 28 .size([width, height]) 29 .distance(380) 30 .friction(0.9) 31 .charge(-800) 32 .gravity(0.1) 33 .start(); 34 35 // svg領域の作成 36 var svg = d3.select("body") 37 .append("svg") 38 .attr({width:width, height:height}); 39 40 // link線の描画(svgのline描画機能を利用) 41 var link = svg.selectAll("line") 42 .data(links) 43 .enter() 44 .append("line") 45 .style({stroke: "#ccc", 46 "stroke-width": 1 47 }); 48 49 var g = svg.selectAll("g") 50 .data(nodes) 51 .enter() 52 .append("g") 53 .call(force.drag); 54 55 var a = g.append("a") 56 .attr({"xlink:href":function(data){ return data.url }, }); 57 58 var node = a.append("image") 59 .attr({"xlink:href":function(data){ return data.pic }, 60 "width":80, 61 "height":80 62 }); 63 64 65 66 var label = a.append("text") 67 .attr({"text-anchor":"middle", 68 "fill":"black"}) 69 .style({"font-size":14}) 70 .text(function(data) { return data.label; }); 71 72 73 74force.on("tick", function() { 75 link.attr({x1: function(d) { return d.source.x; }, 76 y1: function(d) { return d.source.y; }, 77 x2: function(d) { return d.target.x; }, 78 y2: function(d) { return d.target.y; }}); 79 g.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }); 80 }); 81 82//以下ajaxエラー時 83}}).fail(function(XMLHttpRequest, textStatus, errorThrown){ 84 console.log("ajax通信に失敗しました"); 85 console.log("XMLHttpRequest : " + XMLHttpRequest.status); 86 console.log("textStatus : " + textStatus); 87 console.log("errorThrown : " + errorThrown.message); 88}) 89 90 91

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

しかしconsole.logでは見ることができません。

drawForce() をコードのどこでも実行していないから。
コードはインデントをつけるようにしましょう。

投稿2017/12/03 17:36

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maigoneko

2017/12/03 17:51

すいません 知識がないのもあって大分混乱してしまっています drawForceが実行できていればconsole.logで見れるということでしょうか・・
kei344

2017/12/03 17:55

関数を実行せずに関数内のコードが動くことはありませんよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問