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获取radio选中的值
May 05 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
jquery操作ul的一些操作笔记整理(干货)
Aug 31 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
jQuery中DOM常见操作实例小结
Aug 01 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
jQuery实现简单弹幕效果
Nov 28 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
vuejs指令详解
2017/02/07 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
python插入排序算法的实现代码
2013/11/21 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
10个Python小技巧你值得拥有
2018/09/29 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
django框架auth模块用法实例详解
2019/12/10 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
python批量修改文件名的示例
2020/09/27 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
低碳环保标语
2014/06/12 职场文书
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
Java 在线考试云平台的实现
2021/11/23 Java/Android
美元符号 $
2022/02/17 杂记