我有一个函数 YR.printGraphs()。这会执行许多 ajax 调用并绘制图表。
在完成所有 ajax 调用后,我必须执行一些脚本,但我无法做到这一点。我尝试了以下方法,也延迟了注释似乎对我有用。
函数“sangeetha”永远不会触发。我究竟做错了什么?
$("#pnlEmail1").ready(function () {
YR.printGraphs();
}).sangeetha();
function sangeetha() {
var s = 0.0;
$(".printgraphs").each(function () {
s += parseFloat($(this).height());
});
s = s - parseFloat($("#pnlEmail1").height());
$(".fulldtls").css({ "top": s + "px", "position": "relative" });
}
printGraphs: function () {
///<summary>Loop through the email metrics available for this customer and makes ajax calls to get the email graph data.</summary>
$(".printgraphs").each(function () {
//Every div id is generated with its respective tab name in printreport.cs to distingush graphs.
// So, check if the div belongs to Email tab, Phone tab or Grades and send the respective tab name to controller to get the correct graph data.
if ($(this).attr("id").toLowerCase().indexOf("email") >= 0) {
YAHOO.Report.changeGraph("Email", $(this), true);
}
else if ($(this).attr("id").toLowerCase().indexOf("grade") >= 0) {
YAHOO.Report.changeGraph("Grades", $(this), true);
}
else {
YAHOO.Report.changeGraph("Phone", $(this), true);
}
});
}
每个 YAHOO.Report.changeGraph 都会进行一次 ajax 调用。我听说过 jQuery 中的函数链接,但不确定如何在这种情况下应用它。