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 while语句和do while语句的区别分析
Dec 08 Javascript
关于JavaScript中原型继承中的一点思考
Jul 25 Javascript
鼠标拖动实现DIV排序示例代码
Oct 14 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
利用jQuery解析获取JSON数据
Apr 08 jQuery
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
vue 使用localstorage实现面包屑的操作
Nov 16 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 项目的方法
2007/01/02 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python实现堆排序的方法详解
2016/05/03 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
pip安装python库的方法总结
2019/08/02 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
项目总经理岗位职责
2014/02/14 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
详解SQL的窗口函数
2022/04/21 Oracle
html中两种获取标签内的值的方法
2022/06/16 jQuery