我无法在弹出窗口中显示图表

时间:2014-04-04 18:03:57

标签: javascript jquery jquery-ui jquery-plugins

我已经和以下问题争吵了两天但仍然遇到麻烦:

我正在使用Raphael图形插件绘制我的点并向用户显示它很好并且工作正常我也使用拳击手插件来制作弹出窗口并且它工作得很好

例如对于图表,我使用以下代码:

var r1 = Raphael("trend_chart1", w, h);
 r1.gridDrawn = false;
var h1 = $("#trend_chart1").height();
var w1 = $("#trend_chart1").width();
var le1=["Sureness"] ;
var colo1=["#CC0000"];
drawTrend(r1, w1, h1,0.7, sureness, date, le1, 0, colo1);

trend_chart1是我动态制作的div,我也使用这样的拳击手:

$.boxer($('<div  class="inline_content"><div id="d" style="width:100%;float:left;height:100%;"></div></div>'));

工作正常,现在又创建了另一个ID为d的div。 直到现在一切都很好,但是一旦我尝试在拳击手中显示图表,如下所示javascript调试器说它无法识别id为d的div:

$("#trend_chart1").click(function () {

    alert("salam");
    $.boxer($('<div  class="inline_content"><div id="d" style="width:100%;float:left;height:100%;"></div></div>'));
    var hh = $("#d").height();
    var ww = $("#d").width();
    var rtest = Raphael("d", w, h);
    rtest.gridDrawn = false;
    drawTrend(rtest, ww, hh, 0.7, happiness, date, le4, 0, colo4);
});

但是d是由boxer动态添加的,当我使用chrome的inspect元素时,我可以在运行时在html代码中看到它。

如果有人可以提供帮助,我感激不尽?

更新:弹出窗口我使用以下内容:

pop up plug in

更新

根据我的观察,似乎创建了id为d的div,但拉斐尔无法识别

1 个答案:

答案 0 :(得分:1)

好像你在元素加载到文档之前访问它。使用插件提供的回调。

    $("#trend_chart1").click(function () {        
        alert("salam");
        $.boxer($('<div  class="inline_content"><div id="d" style="width:100%;float:left;height:100%;"></div></div>'), {
            callback: function() {
                var hh = $("#d").height();
                var ww = $("#d").width();
                var rtest = Raphael("d", w, h);
                rtest.gridDrawn = false;
                drawTrend(rtest, ww, hh, 0.7, happiness, date, le4, 0, colo4);
            }
        });            
    });