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 相关文章推荐
js静态方法与实例方法分析
Jul 04 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
JavaScript操作HTML元素和样式的方法详解
Oct 21 Javascript
基于JavaScript实现网页倒计时自动跳转代码
Dec 28 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
JS返回顶部实例代码
Aug 09 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
vscode中vue-cli项目es-lint的配置方法
Jul 30 Javascript
electron实现qq快捷登录的方法示例
Oct 22 Javascript
javascript实现简易的计算器
Jan 17 Javascript
基于node+vue实现简单的WebSocket聊天功能
Feb 01 Javascript
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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
js实现继承的方法及优缺点总结
2019/05/08 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python实现三维拟合的方法
2018/12/29 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Django Rest framework频率原理与限制
2019/07/26 Python
python之yield和Generator深入解析
2019/09/18 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Python远程方法调用实现过程解析
2020/07/28 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
python中time包实例详解
2021/02/02 Python
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
应届护士求职信范文
2014/01/26 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
生日祝酒词大全
2015/08/10 职场文书