jquery实现简单实用的轮播器


Posted in jQuery onMay 23, 2017

WEB开发经常实用到一种情况,即某个容器内的各项轮流循环播放显示,同时有相应的导航条提示,因为这个在很多地方可以使用,而且功能很相似的,所以写一个这样的播放功能,共享一下,需要注意的是这个需要jQuery的支持, 这个自己网上搜索下载即可,下面总结出来如下,直接看代码,

一、把如下保存为一个独立的文件 itemPlayerApp.js

//attend: this need jQuery.js support 
var itemPlayerApp={ 
 author:'shenzhenNBA', 
 version:'v1.0', 
 appMaxNum:0, 
 playData:'1xplay', 
 playerID:"", 
 speed:3000, 
 appPlay:function(){  
  var f=this.playData.toLowerCase().split('x'); 
  if(f[1]=='play'){ 
   var i; 
   try{i=parseInt(f[0]);}catch(e){i=0;} 
   if(i>=this.appMaxNum){i=0;}    
   this.appTab(i);   
   this.playData=(++i)+"xplay"; 
  }   
 }, 
 appTab:function(tabIndex){ 
  var k,j; 
  try{k=parseInt(tabIndex);}catch(e){k=0;}   
  for(j=0;j<this.appMaxNum;j++){    
   if(k==j){      
   $('#itemNav'+j).css({'background-color':'#333333','color':'#FFFFFF'});     
   $('#item'+j).show('fast');    
   }else{   
   $('#itemNav'+j).css({'background-color':'#CCCCCC','color':'#000000'}); 
   $('#item'+j).hide('fast');  
   } 
  }   
 }, 
 appActive:function(){ 
  var _this = this; 
  this.playerID = setInterval(function(){ _this.appPlay(); },this.speed); 
 }, 
 init:function(refContainerId,intervalTime,refWidth,refHeight){  
  var cid = "";  
  var w = 300; 
  var h = 200; 
  if(refContainerId == 'undefined' || refContainerId == null || refContainerId == ''){ 
   return; 
  }else{ 
   cid = $.trim(refContainerId); 
  }  
  if(refWidth == 'undefined' || refWidth == null || refWidth == ''){ 
   w = 300; 
  }else{ 
   w = parseInt(refWidth); 
  }  
  if(refHeight == 'undefined' || refHeight == null || refHeight == ''){ 
   h = 200; 
  }else{ 
   h = parseInt(refHeight); 
  }  
   
  $('#' + cid).css({"position":"relative",'width':w,'height':h,'overflow':'hidden'}); 
  $('#' + cid + "NavCon").css({'color':'#333333','height':'26px','position':'absolute','width':'95%','left':'0','bottom':'3px','text-align':'right','display':'block'}); 
  var t = 0; 
  if(intervalTime == 'undefined' || intervalTime == null){ 
   t = 3000; 
  }else{ 
   try{ t = parseInt(intervalTime);}catch(e){ t = 3000;} 
  } 
  this.speed = t; 
  var navList = "#" + cid + "NavCon a"; 
  this.appMaxNum = $(navList).size(); 
  if(0 == this.appMaxNum){ return; } 
  var _this = this; 
  $(navList).each(function(i){ 
   $(this).css({'padding':'2px 5px','margin-right':'2px','background-color':'#CCCCCC'}); 
   if(i == 0){ 
    $(this).css({'background-color':'#333333','color':'#FFFFFF'}); 
   }     
   $(this).mouseover(function(){ 
   _this.playData=i+'xstop'; 
   _this.appTab(i);  
   }); 
   $(this).mouseout(function(){ 
   _this.playData=i+'xplay'; 
   _this.appTab(i); 
   }); 
  }); 
 } 
};

二、如何使用:

1.需要使用的web页面中引入jQery文件和本 itemPlayerApp.js 文件,例如:

<script language="javascript" src="xpath/itemPlayer.js"></script> 

2.建立如下格式的HTML文件

<div id="containerID">

<div id="containerIDNavCon">
<a id="itemNav0" class="item1" href="#">1</a>
<a id="itemNav1" class="item1" href="#">2</a>
<a id="itemNav2" class="item1" href="#">3</a>
</div>
<div id="containerIDItemCon">
<a id="item0" href="#"><img src="img/pic0.jpg" width="300" height="200"></a>
<a id="item1" href="#"><img src="img/pic1.jpg" width="300" height="200"></a>
<a id="item2" href="#"><img src="img/pic2.jpg" width="300" height="200"></a>
</div>
</div>

注意:因为尽量简单,所以需要建立适当格式的HTML,主要要求如下,注意颜色部分,

//A, id = containerIDNavCon和 id = containerIDItemCon 中的连接 A 元素的数量应该相等;
//B, 导航容器的 ID 构成应为主容器 ID 加上 NavCon,如上 containerIDNavCon;
//C, 导航容器中的每个 A 元素的 ID 构成为,itemNav 加上以0开始的递增数字序列,如上面的绿色部分;
//D, 显示项目容器内的每个 A 元素的 ID 构成为,item 加上以0开始的递增数字序列,如上面的紫色部分;

3.在WEB页面中的加载事件onload,初始化和启用该轮播功能,例如:
window.onload=function(){
itemPlayerApp.init('containerID',3000,300,200);
itemPlayerApp.active();
}

三、如下一个例子

假如所有文件都放在一个文件夹里,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>TEST</title> 
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
<script language="javascript" type="text/javascript" src="itemPlayerApp.js"></script> 
<style type="text/css"> 
*{font-family:"宋体",verdana,arial; font-size:12px;color:#000000;} 
#playerBox{font-family:"宋体",verdana,arial; font-size:12px;color:#000000;} 
</style> 
</head> 
<body> 
<div id="playerBox" class="columnLeft01 box02"> 
<div id="playerBoxNavCon"> 
<a id="itemNav0" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >1</a> 
<a id="itemNav1" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >2</a> 
<a id="itemNav2" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >3</a> 
</div> 
<div id="playerBoxItemCon"> 
<a id="item0" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif" width="100%" height="200" border="0"></a> 
<a id="item1" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://csdnimg.cn/www/images/csdnindex_logo.gif" width="100%" height="200" border="0"></a> 
<a id="item2" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://avatar.csdn.net/5/1/9/1_shenzhennba.jpg" width="100%" height="200" border="0"></a> 
</div> 
</div> 
<p> </p> 
<p>项目循环轮播功能</p> 
<script language="javascript" type="text/javascript"> 
window.onload=function(){ 
itemPlayerApp.init('playerBox',3000,300,200); 
itemPlayerApp.appActive(); 
} 
</script> 
</body> 
</html>

提示: jQuery.js 的文件请网上自己下载。
在使用到的时候直接使用即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery序列化后的表单值转换成Json
Jun 16 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
jquery实现图片轮播器
May 23 #jQuery
jQuery实现简单的滑动导航代码(移动端)
May 22 #jQuery
jQuery滑动到底部加载下一页数据的实例代码
May 22 #jQuery
jQuery表单验证之密码确认
May 22 #jQuery
JQuery 封装 Ajax 常用方法(推荐)
May 21 #jQuery
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 #jQuery
关于jQuery库冲突的完美解决办法
May 20 #jQuery
You might like
制作美丽的拉花
2021/03/03 冲泡冲煮
php empty() 检查一个变量是否为空
2011/11/10 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
php intval函数用法总结
2019/04/14 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
Python中super关键字用法实例分析
2015/05/28 Python
Django与JS交互的示例代码
2017/08/23 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
python实现猜单词小游戏
2020/05/22 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
幼儿教师寄语集锦
2014/04/03 职场文书
停车位租赁协议书
2014/09/24 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python