jQuery定义背景动态切换效果的方法


Posted in Javascript onMarch 23, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
ext 代码生成器
Aug 07 Javascript
加载jQuery后$冲突的解决办法
Jul 09 Javascript
javascript 隔行换色函数代码
Oct 24 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
js窗口震动小程序分享
Nov 28 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
Jan 16 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
Jan 24 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
Mar 06 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 Javascript
vue递归组件实战之简单树形控件实例代码
Aug 27 Javascript
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
javascript实现客户端兼容各浏览器创建csv并下载的方法
Mar 23 #Javascript
jQuery实现拖拽效果插件的方法
Mar 23 #Javascript
jQuery操作表单常用控件方法小结
Mar 23 #Javascript
JavaScript自定义等待wait函数实例分析
Mar 23 #Javascript
JavaScript中匿名函数用法实例
Mar 23 #Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 #Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 #Javascript
You might like
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
服务器web工具 php环境下
2010/12/29 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
php简单的上传类分享
2016/05/15 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
使用Python绘制图表大全总结
2017/02/11 Python
python的unittest测试类代码实例
2017/12/07 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
用python爬取租房网站信息的代码
2018/12/14 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
python调用私有属性的方法总结
2020/07/24 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
生日宴会策划方案
2014/06/03 职场文书
化学工程专业求职信
2014/08/10 职场文书
校车安全责任书
2014/08/25 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android