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分页插件jqPaginator的使用方法
Aug 09 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
AJAX在JQuery中的应用详解
Jan 30 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
jQuery实现简单飞机大战
Jul 05 jQuery
jQuery实现二级导航菜单的示例
Sep 30 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
提问的智慧(2)
2006/10/09 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
Python threading多线程编程实例
2014/09/18 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
物理专业大学生职业生涯规划书
2014/02/07 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
英语导游欢迎词
2015/09/30 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python