富贵资源网 Design By www.hznty.com
本文实例讲述了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程序设计有所帮助。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。