Где добавить ссылку на веб-сайт в javascript (в пределах графика)? - PullRequest
0 голосов
/ 23 ноября 2018

Я использую диаграммы Google, и мне было интересно, как добавить ссылку на другой сайт, в моем случае я хотел бы иметь ссылку на сайт, если пользователь нажимает на фрагмент корзины (6.178), гдея должен добавить код JavaScript и какой код?

С уважением

<html>
  <head>
    <script type="text/javascript" src="loader.js"></script>

    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Metric', 'Score'],
          ['Uniqueness',     6.178],
          ['Other',      93.82]
        ]);

        var options = {
          title: 'Unique Identifiability',
          pieHole: 0.6,
          colors: ['#EE7023', '#808080']  
        };

        var chart = new google.visualization.PieChart(document.getElementById('uniqueness'));
        chart.draw(data, options);
      }
    </script>

1 Ответ

0 голосов
/ 23 ноября 2018

добавить сайты, которые вы хотите открыть, в таблицу данных.

var data = google.visualization.arrayToDataTable([
  ['Metric', 'Score', 'Site'],
  ['Uniqueness', 6.178, 'https://www.google.com/'],
  ['Other', 93.82, 'https://www.bing.com/']
]);

использовать представление данных, чтобы скрыть сайты из диаграммы.

  var view = new google.visualization.DataView(data);
  view.setColumns([0, 1]);

, затем откройте сайт на событии выбора графика.

  google.visualization.events.addListener(chart, 'select', function () {
    var selection = chart.getSelection();  // get selected slice

    // ensure something is selected
    if (selection.length > 0) {
      // open the site
      window.open(data.getValue(selection[0].row, 2), '_blank');
    }
  });

используйте вид, чтобы нарисовать график.

  chart.draw(view, options);

см. Следующий рабочий фрагмент ...

google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
  var data = google.visualization.arrayToDataTable([
    ['Metric', 'Score', 'Site'],
    ['Uniqueness', 6.178, 'https://www.google.com/'],
    ['Other', 93.82, 'https://www.bing.com/']
  ]);

  var view = new google.visualization.DataView(data);
  view.setColumns([0, 1]);

  var options = {
    title: 'Unique Identifiability',
    pieHole: 0.6,
    colors: ['#EE7023', '#808080']
  };

  var chart = new google.visualization.PieChart(document.getElementById('uniqueness'));

  google.visualization.events.addListener(chart, 'select', function () {
    var selection = chart.getSelection();  // get selected slice

    // ensure something is selected
    if (selection.length > 0) {
      // open the site
      //window.open(data.getValue(selection[0].row, 2), '_blank');
      console.log(data.getValue(selection[0].row, 2));
    }
  });

  chart.draw(view, options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="uniqueness"></div>

примечание: сайт на самом деле не будет открываться изнутри фрагмента,
, но должен нормально работать на вашей странице ...

...