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处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
jQuery中extend函数简单用法示例
Oct 11 jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
JQuery常见节点操作实例分析
May 15 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 jQuery
jquery实现图片放大镜效果
Dec 23 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中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JS重要知识点小结
2011/11/06 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
JS数组去重的6种方法完整实例
2018/12/08 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
Weblogic和WebSphere不同特点
2012/05/09 面试题
医药个人求职信范文
2014/01/29 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
表扬信范文
2015/05/04 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers