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 相关文章推荐
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
bootstrap+jquery项目引入文件报错的解决方法
Jan 22 jQuery
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jQuery AJAX应用实例总结
May 19 jQuery
Jquery Fade用法详解
Nov 06 jQuery
详解jQuery的核心函数和事件处理
Feb 18 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
星际争霸中的热键
2020/03/04 星际争霸
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
Python找出9个连续的空闲端口
2016/02/01 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python实现的爬虫功能代码
2017/06/24 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
Python ini文件常用操作方法解析
2020/04/26 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
大学四年规划书范文
2013/12/27 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
保护环境的标语
2014/06/09 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
2014离婚协议书范文
2014/09/10 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
学校师德师风整改措施
2014/10/27 职场文书
2015年银行员工工作总结
2015/04/24 职场文书
工作一年自我鉴定
2019/06/20 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL