jQuery定义背景动态切换效果的方法
作者:bea
本文实例讲述了jQuery定义背景动态切换效果的方法。分享给大家供大家参考。具体如下: 通过下面的jQuery插件,你可以将图片放在一个数组里,然后告诉jQuery图片需要在什么地方背景轮换 (function($){ var defaultSettings; var divfg, divbg; var fadeInterval; var fqTimer; var currImg = 0; var displImg = 0; var running = false; //
本文实例讲述了jQuery定义背景动态切换效果的方法。分享给大家供大家参考。具体如下:
通过下面的jQuery插件,你可以将图片放在一个数组里,然后告诉jQuery图片需要在什么地方背景轮换
(function($){
var defaultSettings;
var divfg, divbg;
var fadeInterval;
var fqTimer;
var currImg = 0;
var displImg = 0;
var running = false;
// Setup settings and initialize the plugin
$.fn.bgFade = function(settings, callback){
defaultSettings = $.extend({
frequency: 5000,
speed: 10,
images: [],
position: "center center",
fgz: 1,
bgz: 0
}, settings);
var c = 0;
$(this).each(function(){
if(c == 0) divfg = $(this);
if(c == 1) divbg = $(this);
c++;
});
setBackgrounds();
if(typeof callback == "function"){
callback();
}
return this;
};
// Start the fadder
$.fn.start = function(){
fqTimer = setTimeout(function(){
nextFade()},defaultSettings.frequency
);
running = true;
return this;
};
// Stop the fadder
$.fn.stop = function(){
clearInterval(fadeInterval);
clearTimeout(fqTimer);
running = false;
return this;
}
// Get the current image info {array id, image url}
$.current = function(){
return {pos: displImg, url: defaultSettings.images[displImg]}
}
// Set the first two backgrounds
function setBackgrounds(){
image1 = defaultSettings.images[0];
image2 = defaultSettings.images[1];
divfg.css({
backgroundImage: "url(+image1+)",
zIndex: defaultSettings.fgz,
backgroundPosition: defaultSettings.postion
});
divbg.css({
backgroundImage: "url(+image2+)",
zIndex: defaultSettings.bgz,
backgroundPosition: defaultSettings.postion
});
currImg = 1;
displImg = 0;
}
// Set the next background after a fade completes
function setNextBackground(){
next = arrayNext();
image = defaultSettings.images[next];
divbg.css({
backgroundImage: "url(+image+)"
});
setTimeout(function(){nextFade()}, defaultSettings.frequency);
}
// Run a fade
function nextFade(){
fadeInterval = setInterval(function(){fadeIt()}, 30);
}
// Decrement the opacity of the div
function fadeIt(){
if(divfg.css("opacity") == '){
op = 1;
}else{
op = divfg.css("opacity");
}
op -= ((1000 * defaultSettings.speed) / 30) * 0.0001;
divfg.css("opacity", op);
if(op <= 0){
bg = divbg;
bgimg = divbg.css("background-image");
divfg.css("opacity", "1");
divfg.css("background-image", bgimg);
clearInterval(fadeInterval);
setNextBackground();
displImg = arrayCurrent();
}
}
// Get the next item in the array
function arrayNext(){
var next = currImg + 1;
if(next >= defaultSettings.images.length){
next = 0;
}
currImg = next;
return next;
}
// Get the current item in the array
function arrayCurrent(){
var cur = currImg - 1;
if(cur < 0)
cur = defaultSettings.images.length - 1;
return cur;
}
})(jQuery);
希望本文所述对大家的jQuery程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- 推荐10 款 SVG 动画的 JavaScript 库
- JavaScript中textRange对象使用方法小结
- jQuery实现防止提交按钮被双击的方法
- 使用AngularJS 应用访问 Android 手机的图片库
- nodejs中实现阻塞实例
- nodejs中使用多线程编程的方法实例
- nodejs中实现sleep功能实例
- jQuery插件实现控制网页元素动态居中显示
- nodejs中的fiber(纤程)库详解
- jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
- 超级简单实现JavaScript MVC 样式框架
- JavaScript检测弹出窗口是否已经关闭的方法
- JavaScript跨平台的开源框架NativeScript
- JavaScript实现找质数代码分享
- JS获取及设置TextArea或input文本框选择文本位置的方法
- jQuery调用ajax请求的常见方法汇总
- JSONP之我见
- JavaScript将数字转换成大写中文的方法
- 自定义jQuery插件方式实现强制对象重绘的方法