这篇文章主要介绍了jQuery定义背景动态切换效果的方法,实例分析了jQuery操作图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
新闻热点
疑难解答
图片精选