我有这段代码:
$(document).ready(function(){
$(".links a").click(function(e){
var toLoad = "products.html #" + this.id;
$('#block').fadeTo('fast',0,loadContent);
function loadContent() {
$('#block').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#block').fadeTo('slow',100);
}
e.preventDefault();
});
});
这个想法是:
我看到的行为是淡出,然后在fadeOut完成后立即弹回新内容。
对此有何想法?
答案 0 :(得分:2)
改变这个:
function loadContent() {
$('#block').load(toLoad,'',showNewContent())
}
到
function loadContent() {
$('#block').load(toLoad,'',showNewContent)
}
解释:你是立即调用函数(并将其不存在的返回传递给load()
)而你想要传递函数 (而不是它返回的内容)作为回调。
注意:,fadeTo()
州:
褪色的不透明度(来自的数字) 0到1)。
所以你应该改变:
function showNewContent() {
$('#block').fadeTo('slow',100);
}
到
function showNewContent() {
$('#block').fadeTo('slow', 1);
}