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 相关文章推荐
Javascript页面添加到收藏夹的简单方法
Aug 07 Javascript
JS检测图片大小的实例
Aug 21 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
详解Vue-Cli 异步加载数据的一些注意点
Aug 12 Javascript
web页面和微信小程序页面实现瀑布流效果
Sep 26 Javascript
vue+iview 实现可编辑表格的示例代码
Oct 31 Javascript
JavaScript实现省市联动效果
Nov 22 Javascript
JavaScript闭包原理与用法学习笔记
May 29 Javascript
js 函数性能比较方法
Aug 24 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
php中的ini配置原理详解
2014/10/14 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php生成短域名函数
2015/03/23 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
PHP xpath()函数讲解
2019/02/11 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
javascript 函数调用规则
2009/08/26 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
彻底理解Python list切片原理
2017/10/27 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
机关门卫制度
2014/02/01 职场文书
12月红领巾广播稿
2014/02/13 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
关于的python五子棋的算法
2022/05/02 Python