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 相关文章推荐
javascript 定义新对象方法
Feb 20 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
javascript实现在线客服效果
Jul 15 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
Aug 29 Javascript
BootStrap glyphicon图标无法显示的解决方法
Sep 06 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
localstorage实现带过期时间的缓存功能
Jun 28 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
three.js利用卷积法如何实现物体描边效果
Nov 27 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
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
一个简单的js动画效果代码
2010/07/20 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
中专毕业自我鉴定
2013/10/16 职场文书
卫校毕业生自我鉴定
2013/10/31 职场文书
应届大学生的推荐信
2013/11/20 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
党员违纪检讨书
2014/02/18 职场文书
2014中考励志标语
2014/06/05 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
学期个人工作总结
2015/02/13 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2015年工程部工作总结
2015/04/30 职场文书
八月一日观后感
2015/06/10 职场文书
SQL Server 中的事务介绍
2022/05/20 SQL Server