我在jquery预加载功能方面遇到了一些问题,并想知道是否有人可以帮助我。我已经在jquery preload插件中添加了加载我网站的背景图片,但是我想创建一个onComplete函数,这样当它们加载图像时它就会启动后台shuffle函数。但我似乎无法做到这一点。如果你知道一个更好的方法,或者一种方法,那就非常感谢。
$(document).ready(function () {
$.fn.preload = function () {
this.each(function () {
$('<img/>')[0].src = this;
});
}
$(['../images/background1.jpg', '../images/background2.jpg', '../images/background3.jpg', '../images/background4.jpg', '../images/background5.jpg', '../images/background6.jpg', '../images/background7.jpg']).preload();
var images = new Array();
images[1] = "../images/background-1.jpg",
images[2] = "../images/background-7.jpg",
images[3] = "../images/background-4.jpg",
images[4] = "../images/background-5.jpg",
images[5] = "../images/background-6.jpg",
images[6] = "../images/background-2.jpg",
Array.prototype.shuffle = function () {
var len = this.length;
var i = len;
while (i--) {
var p = parseInt(Math.random() * len);
var t = this[i];
this[i] = this[p];
this[p] = t;
}
};
images.shuffle();
// A little script for preloading all of the images
// It's not necessary, but generally a good idea
var index = 0;
$.backstretch(images[index], { speed: 1000 });
var slideshow = setInterval(function () {
index = (index >= images.length - 1) ? 0 : index + 1;
$.backstretch(images[index]);
}, 5000);
});