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实现动态添加、删除按钮及input输入框的方法
Apr 27 jQuery
jQuery 实现双击编辑表格功能
Jun 19 jQuery
jquery.validate表单验证插件使用详解
Jun 21 jQuery
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
基于jquery实现的tab选项卡功能示例【附源码下载】
Jun 10 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
jquery实现轮播图特效
Apr 12 jQuery
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
jQuery实现鼠标拖动图片功能
Mar 04 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
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
python 将字符串中的数字相加求和的实现
2019/07/18 Python
python SocketServer源码深入解读
2019/09/17 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
几个Linux面试题笔试题
2012/12/01 面试题
女子职高个人自荐书
2014/02/01 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
大学社团活动总结
2014/04/26 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python
《废话连篇——致新手》——chinapizza
2022/04/05 无线电
Vue操作Storage本地化存储
2022/04/29 Vue.js