JQuery实现图片轮播效果


Posted in Javascript onSeptember 15, 2015

【原理简述】

JQuery实现图片轮播效果

这里大概说一下整个流程:

1,将除了第一张以外的图片全部隐藏,

2,获取第一张图片的alt信息显示在信息栏,并添加点击事件

3,为4个按钮添加点击侦听,点击相应的按钮,用fadeOut,fadeIn方法显示图片

4,设置setInterval,定时执行切换函数

【代码说明】

filter(":visible") :获取所有可见的元素

unbind():从匹配的元素中删除绑定的事件

siblings:取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合

例:找到每个div的所有同辈元素中带有类名为selected的元素。

<p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>

执行 $("div").siblings(),结果

[ <p>Hello</p>, <p>And Again</p> ]

【程序源码】
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="#" target="_blank"><img src="imgs/p1.jpg" title="橡树小屋的blog" alt="橡树小屋的blog"/></a>
<a href="#" target="_blank"><img src="imgs/p5.jpg" title="橡树小屋的blog" alt="橡树小屋的blog"/></a>
<a href="#" target="_blank"><img src="imgs/p3.jpg" title="橡树小屋的blog" alt="橡树小屋的blog"/></a>
<a href="#" target="_blank"><img src="imgs/p4.jpg" title="橡树小屋的blog" alt="橡树小屋的blog"/></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>

JS部分:

<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实现图片轮播的全部思路过程,希望对大家的学习有所帮助。

Javascript 相关文章推荐
如何实现iframe(嵌入式帧)的自适应高度
Jul 26 Javascript
Dom 结点创建 基础知识
Oct 01 Javascript
js中符号转意问题示例探讨
Aug 19 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
Jun 15 Javascript
JavaScript 深层克隆对象详解及实例
Nov 03 Javascript
微信小程序 弹幕功能简单实例
Feb 14 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
vue实现条件判断动态绑定样式的方法
Sep 29 Javascript
深入理解redux之compose的具体应用
Jan 12 Javascript
小程序开发之模态框组件封装
Apr 23 Javascript
jQuery实现可展开合拢的手风琴面板菜单
Sep 15 #Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 #Javascript
jquery图片轮播特效代码分享
Apr 20 #Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
Sep 15 #Javascript
jQuery焦点图切换特效代码分享
Sep 15 #Javascript
jquery点击缩略图切换视频播放特效代码分享
Sep 15 #Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
Sep 15 #Javascript
You might like
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
thinkphp分页集成实例
2017/07/24 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
Python全局变量操作详解
2015/04/14 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
python 对key为时间的dict排序方法
2018/10/17 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
如何理解Python中包的引入
2020/05/29 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
商场消防管理制度
2014/01/12 职场文书
学期自我评价
2014/01/27 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang
html5调用摄像头截图功能
2022/01/18 Javascript
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers