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 Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
Jul 08 jQuery
jQuery选择器之子元素过滤选择器
Sep 28 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jquery如何实现点击空白处隐藏元素
Dec 05 jQuery
jquery实现楼层滚动效果
Jan 01 jQuery
Jquery的Ajax技术使用方法
Jan 21 jQuery
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
jquery实现直播弹幕效果
Nov 28 jQuery
jquery添加div实现消息聊天框
Feb 08 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 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
twig里使用js变量的方法
2016/02/05 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
跟老齐学Python之Import 模块
2014/10/13 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
Python冲顶大会 快来答题!
2018/01/17 Python
python绘制圆柱体的方法
2018/07/02 Python
python实现随机梯度下降法
2020/03/24 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
Python3并发写文件与Python对比
2019/11/20 Python
Python网页解析器使用实例详解
2020/05/30 Python
python主要用于哪些方向
2020/07/05 Python
Python的信号库Blinker用法详解
2020/12/31 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
丧事主持词大全
2014/04/02 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
政风行风建设整改方案
2014/10/27 职场文书
内勤岗位职责范本
2015/04/13 职场文书
毕业典礼主持词
2015/06/29 职场文书
听证会主持词
2015/07/03 职场文书
运动会新闻稿
2015/07/17 职场文书