基于JQuery的实现图片轮播效果(焦点图)

 更新时间:2010年09月01日 00:26:18   作者:  
用JQuery操作DOM确实很方便,并且JQuery提供了非常人性化的API应付我们的各种需求,其中选择器在此示例-JQuery实现图片轮播效果上体现的尤为出色。大大简化了js的代码。
完整的演示代码:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

【原理简述】
这里大概说一下整个流程:
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部分:
复制代码 代码如下:

<div id="banner">
<div id="banner_bg"></div> <!--标题背景-->
<div id="banner_info"></div> <!--标题-->
<ul>
<li>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>

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-color:#6f4f67;cursor:pointer}
#banner_list a{position:absolute;} <!-- 让四张图片都可以重叠在一起-->
</style>

JS部分:
复制代码 代码如下:

<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
<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);
$(this).css({"background":"#be2424",'color':'#000'}).siblings().css({"background":"#6f4f67",'color':'#fff'});
});
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>

相关文章

  • 遍历json获得数据的几种方法小结

    遍历json获得数据的几种方法小结

    下面小编就为大家带来一篇遍历json获得数据的几种方法小结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 手写简单的jQuery雪花飘落效果实例

    手写简单的jQuery雪花飘落效果实例

    这篇文章主要给大家介绍了关于手写简单的jQuery雪花飘落的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • jQuery+css实现的换页标签栏效果

    jQuery+css实现的换页标签栏效果

    这篇文章主要介绍了jQuery+css实现的换页标签栏效果,涉及jQuery动态操作页面元素构造换页标签的相关技巧,需要的朋友可以参考下
    2016-01-01
  • jQuery Ajax使用 全解析

    jQuery Ajax使用 全解析

    jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。
    2010-12-12
  • jquery+正则实现统一的表单验证

    jquery+正则实现统一的表单验证

    表单验证一直很繁琐,特别是大点的表单,如果每个input都去单独写验证简直要写死人,最近写了一小段js统一的验证表单内容是否正确。需要的朋友可以参考下
    2015-09-09
  • 超漂亮的jQuery图片轮播特效

    超漂亮的jQuery图片轮播特效

    这篇文章为大家分享了超漂亮的jQuery图片轮播特效,支持Ajax加载数据,响应式布局,支持移动端触屏,功能强大,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • Jquery图形报表插件 jqplot简介及参数详解

    Jquery图形报表插件 jqplot简介及参数详解

    jqPlot是 一款基于jquery类库的图标绘制插件。通过jqPlot可以再网页中绘制线状、柱状、饼状等多种样式图表。而且,jqPlot具有插件可扩展性 (Pluggability),你可以编写自己的图表样式
    2012-10-10
  • jQuery Mobile漏洞会有跨站脚本攻击风险

    jQuery Mobile漏洞会有跨站脚本攻击风险

    人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。因此有人将跨站脚本攻击缩写为XSS。
    2017-02-02
  • jquery ajax局部加载方法详解(实现代码)

    jquery ajax局部加载方法详解(实现代码)

    下面想就为大家带来一篇jquery ajax局部加载方法详解(实现代码)。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧
    2016-05-05
  • jQuery取消特定的click事件

    jQuery取消特定的click事件

    这篇文章主要介绍了jQuery取消特定的click事件实现方法,结合实例形式分析了jQuery简单实现事件绑定及取消事件绑定的相关技巧,需要的朋友可以参考下
    2016-02-02

最新评论