这段代码有什么问题?可能很多cus我是jquery的新手。我正试图淡化页面,然后将背景淡入淡出和导航中的另一个并设置它,以便链接将页面淡出并引入新页面。我现在的代码不太正常,我认为一些语法和格式是问题所在。
$(document).ready(function() {
$('body').fadeIn(1500);
});
$('#background').addClass('background');
setTimeout(function() {
$('#background').addClass('background-blured');
}, 1500);
$("h1").delay(2000).animate({
top: -50,
opacity: 1,
}, 700, function() {
// Animation complete.
});
$('.link').click(function() {
event.preventDefault();
newLocation = this.href;
$('body').fadeOut(500, newpage);
});
function newpage() {
window.location = newLocation;
}
});
谢谢!
答案 0 :(得分:0)
$(document).ready触发器。当浏览器仍在加载页面时,运行$(document).ready块之外的任何javascript。因此,如果您的$('#background')元素尚未加载到DOM,则jQuery无法向其添加'background'类。而且很可能只有部分$('。link')元素会添加click事件监听器,因为它们在javascript运行时尚未加载。这就是你应该在$(document).ready函数中嵌入这些东西的原因。
$(document).ready(function() {
$('body').fadeIn(1500);
$('#background').addClass('background');
setTimeout(function() {
$('#background').addClass('background-blured');
}, 1500);
$("h1").delay(2000).animate({
top: -50,
opacity: 1,
}, 700, function() {
// Animation complete.
});
$('.link').click(function() {
event.preventDefault();
newLocation = this.href;
$('body').fadeOut(500, newpage);
});
});
function newpage() {
window.location = newLocation;
}
注意通过适当的缩进,您可以轻松查看$(document).ready函数内部的内容。另请注意,您不要在$(document).ready中放置像newpage()函数这样的标准函数。