1
這似乎是一個明顯的能力,但我完全無法弄清楚如何去做。我有像這樣把ajax函數的結果放在fancybox中1.3.4
<a onclick="func('AS');" href="#">Asia</a>
<a onclick="func('AU');" href="#">Australia</a>
<a onclick="func('NA');" href="#">North America</a>
的func
函數執行一串數據準備的,然後發送出去Ajax請求一系列鏈接。 ajax請求的結果被轉換爲sparklines。它看起來有點像這樣
"func": function(continent) {
$.ajax({
url : "path/to/data.json",
type : "GET",
data : {"continent": continent},
dataType: "jsonp",
error : function() { alert("Error loading html document"); },
success : function(result) {
var html = "<table>" +
"<tr><td colspan='2'><div id='a'></div></td></tr>" +
"<tr><td colspan='2'><div id='b'></div></td></tr>" +
"</table>";
$("#a").sparkline(result.a);
$("#b").sparkline(result.b);
}
});
}
這一切都工作得非常好,但我想顯示的fancybox彈出裏面的HTML表,我無法弄清楚如何這樣組裝起來。我猜測我必須像這樣反轉操作 - 將fancybox觸發器綁定到與大陸代碼的鏈接,將大陸代碼傳遞到fancybox啓動器,然後在fancybox中填充ajax調用的結果。說了這麼多,我該怎麼做呢?
更新:其實,下面的工作
"func": function(continent) {
$.ajax({
url : "path/to/data.json",
type : "GET",
data : {"continent": continent},
dataType: "jsonp",
error : function() { alert("Error loading html document"); },
success : function(result) {
var html = "<table>" +
"<tr><td colspan='2'><div id='a'></div></td></tr>" +
"<tr><td colspan='2'><div id='b'></div></td></tr>" +
"</table>";
$.fancybox({
content: html,
autoDimensions: true
});
$("#a").sparkline(result.a);
$("#b").sparkline(result.b);
}
});
}
謝謝...是的,我只是想出了自己併發布了更新。唯一的事情是,在調用sparklines之前,必須首先進行精美的方框調用,這樣html纔會被渲染,並且sparklines會有正確的div可用於鎖定。非常感謝。 – punkish 2012-01-08 23:04:24
不用擔心 - 很高興你把它分類:) – nicky77 2012-01-08 23:05:30