博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jquery实现图片自动轮播
阅读量:4543 次
发布时间:2019-06-08

本文共 3102 字,大约阅读时间需要 10 分钟。

【原理简述】 
这里大概说一下整个流程: 
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> 

 

转载于:https://www.cnblogs.com/xiaxianglanyu/p/3277510.html

你可能感兴趣的文章
项目源码--JSP在线客服系统(SSH框架技术)源码
查看>>
【动态规划 floyd】SPOJ ACPC13
查看>>
如何收藏互联网上的任意网页到系统某个分类下,之后进行批量导出发布等---博客备份专家的博文收藏功能您不可不知...
查看>>
【LeetCode】129. Sum Root to Leaf Numbers (2 solutions)
查看>>
JavaScript页面存放位置
查看>>
阿里云ECS(Centos)开启X11的步骤
查看>>
Vue_WebPack小白入门
查看>>
Git 常用操作(二)
查看>>
Jquey(绑定事件)
查看>>
php的变量引用详解
查看>>
Linux---centos编译安装ffmpeg
查看>>
个人待办事项工具的设计和搭建(IFE前端2015春季 任务3)
查看>>
nginx
查看>>
openssl生成ssl证书
查看>>
matplotlib 柱状图 Bar Chart 样例及参数
查看>>
The 10th SWJTU Collegiate Programming Contest - Online Round
查看>>
我一路奔来,奔向未来
查看>>
Leangoo敏捷项目协作工具到底好在哪里?
查看>>
运行AVD遇到“Emulator] could not get wglGetExtensionsStringARB”问题的原因
查看>>
iOS:UIImageView图像视图控件
查看>>