jQuery 新手,无法使其正常工作。我已经使用 jQuery $.ajax() 从 MYSQL 数据库中检索了内容。那部分有效。您可以在下面的 onBeforeLoad 事件中看到该代码。
我希望将此内容加载到 jQueryTools 覆盖中。我已将该内容转储到 ID 为“contentWrap”的块中。
jQueryTools 覆盖文档有一个使用 onBeforeLoad 事件将外部页面加载到覆盖中的示例,但我无法根据我的目的调整该代码。这是他们的示例,来自http://jquerytools.org/demos/overlay/external.html:
onBeforeLoad: function() {
// grab wrapper element inside content
var wrap = this.getOverlay().find(".contentWrap");
// load the page specified in the trigger
wrap.load(this.getTrigger().attr("href"));
}
我尝试将我的 ajax 代码放在覆盖调用中的 onBeforeLoad 事件中,但没有奏效。那么如何将我的内容直接加载到叠加层中呢?
好的,经过一些更改,这是实际运行的代码,但仍然无法正常工作:
查询:
$("a.noteref[rel]").overlay({
mask: {
color: '#000',
loadSpeed: 100,
opacity: 0.7
},
closeOnClick: true,
fixed: false,
onBeforeLoad: function() {
$.ajax({
url: 'api.php',
data: "ID=" + $(this).attr('id').replace('#', ''),
type: 'post',
dataType: 'json',
success: function(data) {
var id = data[0];
var vtype = data[1];
var vcontent = data[2];
var vlink = data[3];
var data
$('#contentWrap').html(vcontent);
}
});
var wrap = this.getOverlay().find("#contentWrap");
wrap.load();
}
});
HTML:
<a hef="http://www.example.com/" class="noteref" id="cite01">Example</a>
<div class="overlay">
<div id="contentWrap"></div>
</div>