上記ご指摘をいただきました点を踏まえて、改めて状況と質問をさせていただきます。
chart.jsを利用しており、以下のjsを外部ファイル化しております。ここで外部ファイル化しているのは、WPのプラグインの性質上、所与のものであるとお考えください。
ABC.js
function bargraph(){ function floatFormat( number, n ) { var _pow = Math.pow( 10 , n ) ; return Math.round( number * _pow ) / _pow ; } var PO_1=5.0; var PO_2=3.8; var PO_3=floatFormat(78/100*5,1); var PO_4=3.9; function avg1() { return floatFormat(( PO_1+ PO_2+ PO_3+ PO_4)/4,1); } var PO_5= avg1; var data = { labels: ["A", "B", "C", "D", "E",], datasets: [ {label: "総合評価", type:"bar", yAxisID: 'y-axis-1', backgroundColor: "rgba(0, 0, 255,0.3)", borderColor: "rgba(0, 0, 255,0.3)", borderWidth: 1, hoverBackgroundColor: "rgba(255,99,132,0.4)", hoverBorderColor: "rgba(255,99,132,1)", data: [PO_1,PO_2, PO_3, PO_4, PO_5],}, { label: "口コミ数", type:"line", tension:0, yAxisID: 'y-axis-2', backgroundColor: "rgb(5, 34, 120)", fill:false, borderColor: "rgb(5, 34, 120)", borderWidth: 1, hoverBackgroundColor: "rgba(255,99,132,0.4)", hoverBorderColor: "rgba(255,99,132,1)", data: [700, 850, 300, 500, 680],} ]}; var options={ scales: { yAxes: [{ position: "left", id: "y-axis-1", ticks: { fontColor:"#000000", stepSize: 1, beginAtZero:true, callback: function(value) { return "⭐️ "+value;} }, gridLines:{display:true, color:"rgba(0, 0, 255, 0.3)", },}, { position: "right", id: "y-axis-2", ticks: { fontColor:"#000000", stepSize: 200, beginAtZero:true, }, gridLines:{display:true, color:"rgba(0, 0, 255, 0.3)", },} ], xAxes: [{ tick:{ fontColor:"#808080 ", fontSize:12, }, gridLines:{display:true,color:"rgba(255, 255, 255, 0)"}, }] } }; var ctx = document.getElementById("mybar"); var myBarChart = new Chart(ctx, { type: 'bar', data: data, options:options, }); }
上記のABC.js上で得られたvar PO_5の変数を本体のphpファイルで様々な形で利用したいと考えております。例えば
DEF.php上
<div class="subtitle" style="margin-bottom:20px; float: left; width:380px; align:left";><Font Size="5" style="color:#808080 ;">総合評価</Font>[star rating="<?php echo $AVG;?>" type="rating"] <?php echo "(".$AVG."/5.00)";?></br></div> <!--chart.jsで得られた変数を利用して作成したいタグ、変数を受け渡しできない--> div style="width:600px; height;200px"><canvas id="mybar" width="600px" height="200px"></canvas></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.0.1/Chart.bundle.js"></script> <script> bargraph(); </script> <!--chart.jsを利用したグラフを作成するタグ-->
*ちなみに[star...のコードはWP上のショートコードになります。
$AVGにABC.jsのPO_5の変数を渡すことができず、その解決策を探しています。
DEF.phpの記載は一部ですが、様々な形でPO_5の変数をDEF.phpで使用したく考えております。
もちろん先のPHPファイルに変数を宣言して、これを外部jsファイルに受け渡すことができればそれも有効な解決策と考えております。
このような形での質問であればいかがでしょうか?
何卒、よろしくお願い申し上げます。
回答6件
あなたの回答
tips
プレビュー