我想創建一個詞彙系統,該系統將獲得的常用詞,並通過AJAX對它們的定義鏈接定義,然後替換某些元素字(這些出現的任何與useGlossary
類)鏈接到完整定義,並提供關於鼠標懸停的簡短定義。我這樣做的方式作品,但對於大型網頁需要30-40秒,在此期間頁面掛起。我想要減少更換所需的時間,或者使替換在後臺運行而不掛起頁面。更換某些詞與使用Javascript
我正在使用jQuery的大部分JavaScript和Qtip爲鼠標懸停。這裏是我現有的慢代碼:
$(document).ready(function() {
$.get("fetchGlossary.cfm", null, glossCallback, "json");
});
function glossCallback(data)
{
$(".useGlossary").each(function() {
var $this = $(this);
for (var i in data)
{
$this.html($this.html().replace(new RegExp("\\b" + data[i].term + "\\b", "gi"), function(m) {return makeLink(m, data[i].def);}));
}
$this.find("a.glossary").qtip({ style: { name: 'blue', tip: true } })
});
}
function makeLink(m, def)
{
return "<a class='glossary glossary" + m.replace(/\s/gi, "").toUpperCase() + "' href='reference/glossary.cfm' title='" + def + "'>" + m + "</a>";
}
感謝您的任何意見/建議!
在服務器上這樣做是最優的。 – Matt 2010-04-25 17:58:50