本文实例讲述了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程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“jQuery定义背景动态切换效果的方法”评论...
更新动态
2024年11月13日
2024年11月13日
- 群星《2023好听新歌28》十倍音质 U盘音乐[WAV分轨][1G]
- faker拿了几个全球冠军 faker全球冠军数量介绍
- 英雄联盟faker拿了多少个冠军 Faker获得冠军数量介绍
- 英雄联盟全华班有夺冠过吗 英雄联盟全华班有没有夺过冠
- ChadCrouch-BartonCreekSoundwalk(2024)[24Bit-96kHz]FLAC
- BestAudiophileVoices4(2005)[FLAC]
- 常月《中国红》[DTS-WAV分轨]
- 国外《CS》选手抱怨上海major外设:桌子不能调节
- 美女推主COS合集图赏
- FS社母公司角川宣布:旗下共有26款游戏积极开发中!
- 黄莺莺.1984-炎夏的梦(2004环球复黑王)【宝丽金】【WAV+CUE】
- 黄雅莉.2009-雅莉不怕【福茂】【FLAC分轨】
- 张宇.1997-温古知新一个人的天荒地老【EMI百代】【WAV+CUE】
- 「灵与火的织卷」前瞻讨论开启 参与赢原石
- 【原神手游】原神基尼奇生日快乐