1

raphaeljs を使用して一連のグラフを作成しています。ページが読み込まれたら、それらを特定の div のコンテンツに追加したいと考えています。

これが私のhtmlです:

<div class="chartdiv">
    <span class="A">35</span>
    <div class="charthere"></div>
</div>

<div class="chartdiv">
    <span class="A">25</span>
    <div class="charthere"></div>
</div>

<div class="chartdiv">
    <span class="A">15</span>
    <div class="charthere"></div>
</div>

次の jQuery コードは、クラス chartdiv を使用してすべての div をループし、それぞれについてループする必要があります。

  • クラスAでスパンの値を取得し、
  • drawChart 関数に渡す
  • クラスチャートを使用してdivにsvgを配置しますhere

ここに私のjsスクリプトの関連部分があります:

$(document).ready(function(){

    $('div.chartdiv').each(function(){
        // get the A value
        var A = parseInt($(this).add('span.A').text());

        // substitute the html with the corresponding chart
        drawChart($(this).add('div.charthere'), A);
    });

    function drawChart(element, A) {
        var paper = new Raphael(element, 200, 200);
        var examplePathString = "M20,100 L" + A + ",100";
        var thePath = paper.path(examplePathString);
        thePath.attr({stroke: red,'stroke-width': 5px});
    }
});

代わりに、すべての svg 要素が div の後に作成されます。

4

1 に答える 1