JQuery实现图片轮播效果


Posted in jQuery onMay 08, 2017

用JQuery操作DOM确实很方便,并且JQuery提供了非常人性化的API应付我们的各种需求,大大简化了js的代码。

制作原理:

这里大概说一下整个流程:

1,将除了第一张以外的图片全部隐藏,

2,获取第一张图片的alt信息显示在信息栏,并添加点击事件

3,为4个按钮添加点击侦听,点击相应的按钮,用fadeOut,fadeIn方法显示图片

4,设置setInterval,定时执行切换函数

代码说明:

filter(":visible") :获取所有可见的元素

unbind():从匹配的元素中删除绑定的事件

siblings:取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合

程序源码

HTML部分:

<body>
<div id="banner"> 
 <div id="banner_bg"></div>
 <div id="banner_info"></div>
 <ul>
  <li class="on">1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
 </ul>
 <div id="banner_list">
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" target="_blank"><img src="imgs/img_1.jpg" title="图片" alt="图片"/></a>
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" target="_blank"><img src="imgs/img_2.jpg" title="图片" alt="图片"/></a>
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" target="_blank"><img src="imgs/img_3.jpg" title="图片" alt="图片"/></a>
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" target="_blank"><img src="imgs/img_4.jpg" title="图片" alt="图片"/></a>
 </div>
</div>
</body>

CSS部分:

<style type="text/css">
#banner {position:relative; width:478px; height:286px; border:1px solid #666; overflow:hidden;}
#banner_list img {border:0px;}
#banner_bg {position:absolute; bottom:0;background-color:#000;height:30px;filter: Alpha(Opacity=30);opacity:0.3;z-index:1000;
cursor:pointer; width:478px;}
#banner_info{position:absolute; bottom:0; left:5px;height:22px;color:#fff;z-index:1001;cursor:pointer}
#banner_text {position:absolute;width:120px;z-index:1002; right:3px; bottom:3px;}
#banner ul {position:absolute;list-style-type:none;filter: Alpha(Opacity=80);opacity:0.8; border:1px solid #fff;z-index:1002;
   margin:0; padding:0; bottom:3px; right:5px;}
#banner ul li { padding:0px 8px;float:left;display:block;color:#FFF;border:#e5eaff 1px solid;background:#6f4f67;cursor:pointer}
#banner ul li.on { background:#900}
#banner_list a{position:absolute;}
</style>

javascript代码:

<script type="text/javascript">
 var t = n =0, count;
 $(document).ready(function(){ 
  count=$("#banner_list a").length;
  $("#banner_list a:not(:first-child)").hide();
  $("#banner_info").html($("#banner_list a:first-child").find("img").attr('alt'));
  $("#banner_info").click(function(){window.open($("#banner_list a:first-child").attr('href'), "_blank")});
  $("#banner li").click(function() {
   var i = $(this).text() -1;//获取Li元素内的值,即1,2,3,4
   n = i;
   if (i >= count) return;
   $("#banner_info").html($("#banner_list a").eq(i).find("img").attr('alt'));
   $("#banner_info").unbind().click(function(){window.open($("#banner_list a").eq(i).attr('href'), "_blank")})
   $("#banner_list a").filter(":visible").fadeOut(500).parent().children().eq(i).fadeIn(1000);
   document.getElementById("banner").style.background="";
   $(this).toggleClass("on");
   $(this).siblings().removeAttr("class");
  });
  t = setInterval("showAuto()", 4000);
  $("#banner").hover(function(){clearInterval(t)}, function(){t = setInterval("showAuto()", 4000);});
 })
 
 function showAuto()
 {
  n = n >=(count -1) ?0 : ++n;
  $("#banner li").eq(n).trigger('click');
 }
</script>

源码下载

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

jQuery 相关文章推荐
jQuery插件Echarts实现的渐变色柱状图
Mar 23 jQuery
js和jquery中获取非行间样式
May 05 jQuery
jQuery实现web页面樱花坠落的特效
Jun 01 jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
jquery自定义显示消息数量
Dec 19 jQuery
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
jquery实现搜索框功能实例详解
Jul 23 jQuery
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
jQuery中的deferred对象和extend方法详解
May 08 #jQuery
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 #jQuery
jQuery动态追加页面数据以及事件委托详解
May 06 #jQuery
jquery点赞功能实现代码 点个赞吧!
May 29 #jQuery
jQuery extend()详解及简单实例
May 06 #jQuery
jquery仿微信聊天界面
May 06 #jQuery
简单实现jQuery弹幕效果
May 06 #jQuery
You might like
PHP+ajax分页实例简析
2015/12/07 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
详解重置Django migration的常见方式
2019/02/15 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
医学院学生的自我评价分享
2013/11/19 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
优秀语文教师事迹
2014/05/18 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
面试通知单大全
2015/04/20 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
vue组件vue-esign实现电子签名
2022/04/21 Vue.js