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做拖动布局的思路
May 31 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
Aug 27 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
Jun 20 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
jQuery 全选 全不选 事件绑定的实现代码
Jan 23 Javascript
JavaScript实现动态添加Form表单元素的方法示例
Aug 14 Javascript
Angular之toDoList的实现代码示例
Dec 02 Javascript
JS实现监控微信小程序的原理
Jun 15 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 Javascript
vue+elementUi图片上传组件使用详解
Aug 20 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 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编写的导航条程序
2006/10/09 PHP
在PHP中执行系统外部命令
2006/10/09 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
解决python3爬虫无法显示中文的问题
2018/04/12 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python 迭代,for...in遍历,迭代原理与应用示例
2019/10/12 Python
python关于变量名的基础知识点
2020/03/03 Python
jupyter notebook 多行输出实例
2020/04/09 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
加拿大最大的书店:Indigo
2017/01/01 全球购物
美国著名手表网站:Timepiece
2017/11/15 全球购物
寒假思想汇报
2014/01/10 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技