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实现文章图片弹出放大效果
Apr 06 jQuery
jQuery实现动态删除LI的方法
May 30 jQuery
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
jQuery实现模糊查询的方法分析
May 10 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
使用jQuery实现掷骰子游戏
Oct 24 jQuery
jQuery实现弹幕特效
Nov 29 jQuery
jQuery实现轮播图效果demo
Jan 11 jQuery
jquery实现拖拽添加元素功能
Dec 01 jQuery
jQuery冲突问题解决方法
Jan 19 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缓存技术的使用说明
2011/08/06 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
python中pivot()函数基础知识点
2021/01/03 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
农业大学毕业生的个人自我评价
2013/10/11 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
2014年环保工作总结
2014/11/26 职场文书
小学老师对学生的评语
2014/12/29 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
简爱读书笔记
2015/06/26 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers