我正在使用jQuery Tools来使用他的叠加功能,除了简单地将特定的URL加载到叠加层中之外,它还与特定的ID相结合,因此它将特定的信息从URL加载到叠加层中,这里是代码:
$(document).ready(function () {
$(function () {
$("a[rel]").overlay({
mask: 'grey',
effect: 'apple',
onBeforeLoad: function () {
var wrap = this.getOverlay().find(".contentWrap");
wrap.load(this.getTrigger().attr("href") + ' #specificDIV');
}
});
});
});
如果您熟悉jQuery Tools,您可能会注意到这几乎是用于在覆盖中加载URL的基本文档模板 - 除了我已经添加它必须只加载#specificDIV,而不是整个覆盖中的网址。
为了便于参考,这里是来自jQuery tools demo docs的原始.load()函数(没有我的#specificDIV):
var wrap = this.getOverlay().find(".contentWrap");
wrap.load(this.getTrigger().attr("href"));
无论如何,我想知道如何使用.ajax()指定此加载函数。一个原因是我想禁用缓存,另一个原因是我真的很好奇如何实现这一点。关于如何将.load()编码为.ajax()的stackoverflow上有很多例子 - 但是没有像上面那样的.load()函数 - 我显然需要帮助 - 所以非常感谢:P
请记住,此加载函数正在将信息加载到具有class =“contentWrap”的div中。
答案 0 :(得分:1)
好吧,.load
基本上是$.get
和.html
的简写。所以你可以这样做:
$.get(this.getTrigger().attr("href"), null, function(data) {
wrap.html($(data).find("#specificDIV"));
});
$.get
$.ajax
它只是$.ajax({
url: this.getTrigger().attr("href"),
success: function(data) {
wrap.html($(data).find("#specificDIV"));
})
});
的简称,因此进一步扩展:
{{1}}
答案 1 :(得分:-1)
嗯,你可以take a look了解$.load
的实施方式:
$(document).ready(function () {
$(function () {
$("a[rel]").overlay({
mask: 'grey',
effect: 'apple',
onBeforeLoad: function () {
var wrap = this.getOverlay().find(".contentWrap");
$.ajax({
url: this.getTrigger().attr("href") + ' #specificDIV',
dataType: 'html'
}).done(function (responseText) {
wrap.html(responseText);
})
}
});
});
});