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获取radio选中的值
May 05 jQuery
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
jQuery中的for循环var与let的区别
Apr 21 jQuery
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
JQuery表单元素取值赋值方法总结
May 12 jQuery
jQuery HTML css()方法与css类实例详解
May 20 jQuery
jQuery+ThinkPHP实现图片上传
Jul 23 jQuery
使用jQuery实现购物车
Oct 29 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
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
php实现网站留言板功能
2015/11/04 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
JS常见构造模式实例对比分析
2018/08/27 Javascript
实例讲解React 组件
2020/07/07 Javascript
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
python进行TCP端口扫描的实现
2018/12/21 Python
python之mock模块基本使用方法详解
2019/06/27 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
Python中生成ndarray实例讲解
2021/02/22 Python
美国批发供应商:Kole Imports
2019/04/10 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
大学生个人求职信范文
2013/09/21 职场文书
总裁办公室主任职责
2014/01/02 职场文书
主题教育活动总结
2014/05/05 职场文书
新学期开学演讲稿
2014/05/24 职场文书
教师工作失职检讨书
2014/09/18 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
九年级化学教学反思
2016/02/22 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
使用nginx配置访问wgcloud的方法
2021/06/26 Servers