jQuery根据特定文件夹设置的间隔淡入不同的背景图像
我想将身体背景淡化为间隔设置的特定文件夹中的其他图像。 我有脚本来运行setInterval,但它根本不会改变背景图像,事实上它甚至不会改变为空白图像。 图像位于具有script.js文件的文件夹中(调用以下脚本的文件相同)。 我正在运行一个简单的随机数发生器来确定要运行的文件(文件名为1,2,3,4.jpg等)。
如果我可以预加载图像将是理想的,但我想这是另一个问题:
$(document).ready(function() { var image; function changeImage() { image = Math.floor(Math.random() * 2) + 1; $("body").css("background-image",image+".jpg"); } setInterval(changeImage, 3000); });
你可以将jQuery扩展为:
$.fn.preload = function() { this.each(function(){ $('')[0].src = this; }); }
现在您可以通过以下方式预加载图像:
$(['1.jpg','2.jpg','3.jpg','4.jpg']).preload();
和你的代码来改变背景可能看起来像
$(document).ready(function() { var image; function changeImage() { image = Math.floor(Math.random() * 2) + 1; $("body").css("background-image","url('" + image+ ".jpg')"); } }); setInterval(changeImage, 3000);
看起来你正在为background-image设置属性,但是没有指定url,试试这个:
$("body").css("background-image","url(" + image+ ".jpg)");
或另一种选择
image = Math.floor(Math.random() * 2) + 1; image = "url(" + image + ".jpg)" $("body").css("background-image",image);
你在url中使用这个没有双人床的jQuery,并使用background-image的背景
image = Math.floor(Math.random() * 2) + 1; $("body").css({background:"url(" + image + ".jpg)"})