你好向导的stackoverflow!我今天刚刚开始使用JQuery,并且我卡住了。我需要背景图片来淡入淡出。您可以忽略basepath函数这正是我所使用的,所以我永远不需要输入图像的完整路径。Javascript/jQuery背景图片淡入
无论如何,它只是不工作不会加载或更改背景。奇怪的是,我没有在firefox firebug/web developer中出现错误。
var bodyElement = document.getElementsByTagName("body");
var backgroundSource = $(bodyElement[0]).css("backgroundImage");
var parentDirectory = basepath(backgroundSource);
var IMG = parentDirectory + "/jurasic_bg.jpg";
window.onload = function(){fadeBG();};
function basepath(elementObject){
var elementObject = elementObject.replace(/^url|[\(\)"]/g, '');
var elementPathArray = elementObject.split("/");
var elementPathArrayLength = elementPathArray.length - 1;
for (var counter = 0; counter < elementPathArrayLength; counter++)
{
if (counter == 0)
{
pathBuilder = elementPathArray[counter];
}
else
var pathBuilder = pathBuilder + "/" + elementPathArray[counter];
}
return pathBuilder;
}
function fadeBG(){
$('body').fadeIn('slow', function()
{
$(this).css('background-image', 'url(', IMG,')');
});
}
这实际上很棒!然而,它也会在子元素中消失。所以不是给它看起来像一个背景淡入淡出看起来像整个页面淡入。这是因为我不得不包围fadeIn div围绕其他人,使其完整的大小,而不是在顶部或底部挤压。对此有何建议?顺便说一句,非常感谢这么多人的答案是非常有益的。 –
好吧,没关系div问题解决。 div的风格必须设置为top:0px; left:0px; –
以及固定或绝对位置。和z-index来定位div。 –