视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jQuery自动或手动图片切换效果
2020-11-27 22:28:10 责编:小采
文档


学习JS的时候本来积攒了很多有趣的小例子,但是苦于没有找到一些好的平台来展示这些JS效果。今天发现了RunJS这个分享代码的平台,迫不及待得想跟大家分享。

    在浏览各大商城网站的时候,或者某些网站的首页,都会展示与本网站相关的一些实时切换的图片, 本文就给大家分享一个用jQuery实现图片自动切换的例子。    

主页核心代码(Default.aspx):

<!DOCTYPE html> 
<html> 
<head> 
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
 <title>jQuery实现图片切换</title> 
 <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
 <script type="text/javascript" src="js/tupianqiehuan.js"></script> 
 <link rel="stylesheet" type="text/css" href="css/tupianqiehuan.css"> 
</head> 
<body> 
 <div class="wrapper"> 
 <h1>jquer实现图片切换</h1> 
 <div id="focus"> 
 <ul> 
 <li><a href="#" target="_blank"><img src="images/01.jpg" " /></a></li> 
 <li><a href="#" target="_blank"><img src="images/02.jpg" " /></a></li> 
 <li><a href="#" target="_blank"><img src="images/03.jpg" " /></a></li> 
 <li><a href="#" target="_blank"><img src="images/04.jpg" " /></a></li><span style="white-space:pre"> </ul> 
 </div> 
 </div> 
</body> 
</html> 

CSS代码(tupianqiehuan.css):  

*{margin:0;padding:0;} 
body{font-size:12px;color:#222;font-family:Verdana,Arial,Helvetica,sans-serif;background:#f0f0f0;} 
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;} 
.clearfix{zoom:1;} 
ul,li{list-style:none;} 
img{border:0;} 
.wrapper{width:800px;margin:0 auto;padding-bottom:50px;} 
h1{height:50px;line-height:50px;font-size:22px;font-weight:normal;font-family:"Microsoft YaHei",SimHei;margin-bottom:20px;} 
/* focus */ 
#focus{width:800px;height:280px;overflow:hidden;position:relative;} 
#focus ul{height:380px;position:absolute;} 
#focus ul li{float:left;width:800px;height:280px;overflow:hidden;position:relative;background:#000;} 
#focus ul li div{position:absolute;overflow:hidden;} 
#focus .btnBg{position:absolute;width:800px;height:20px;left:0;bottom:0;background:#000;} 
#focus .btn{position:absolute;width:780px;height:10px;padding:5px 10px;right:0;bottom:0;text-align:right;} 
#focus .btn span{display:inline-block;_display:inline;_zoom:1;width:25px;height:10px;_font-size:0;margin-left:5px;cursor:pointer;background:#fff;} 
#focus .btn span.on{background:#fff;} 
#focus .preNext{width:45px;height:100px;position:absolute;top:90px;background:url(http://sandbox.runjs.cn/uploads/rs/475/xaqlrnnr/sprite.png) no-repeat 0 0;cursor:pointer;} 
#focus .pre{left:0;} 
#focus .next{right:0;background-position:right top;} 

JS代码(tupianqiehuan.js):

$(function() { 
 var sWidth = $("#focus").width(); //获取焦点图的宽度(显示面积) 
 var len = $("#focus ul li").length; //获取焦点图个数 
 var index = 0; 
 var picTimer; 
 
 //以下代码添加数字按钮和按钮后的半透明条,还有上一页、下一页两个按钮 
 var btn = "<div class='btnBg'></div><div class='btn'>"; 
 for(var i=0; i < len; i++) { 
 btn += "<span></span>"; 
 } 
 btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>"; 
 $("#focus").append(btn); 
 $("#focus .btnBg").css("opacity",0.5); 
 
 //为小按钮添加鼠标滑入事件,以显示相应的内容 
 $("#focus .btn span").css("opacity",0.4).mouseover(function() { 
 index = $("#focus .btn span").index(this); 
 showPics(index); 
 }).eq(0).trigger("mouseover"); 
 
 //上一页、下一页按钮透明度处理 
 $("#focus .preNext").css("opacity",0.2).hover(function() { 
 $(this).stop(true,false).animate({"opacity":"0.5"},300); 
 },function() { 
 $(this).stop(true,false).animate({"opacity":"0.2"},300); 
 }); 
 
 //上一页按钮 
 $("#focus .pre").click(function() { 
 index -= 1; 
 if(index == -1) {index = len - 1;} 
 showPics(index); 
 }); 
 
 //下一页按钮 
 $("#focus .next").click(function() { 
 index += 1; 
 if(index == len) {index = 0;} 
 showPics(index); 
 }); 
 
 //本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度 
 $("#focus ul").css("width",sWidth * (len)); 
 
 //鼠标滑上焦点图时停止自动播放,滑出时开始自动播放 
 $("#focus").hover(function() { 
 clearInterval(picTimer); 
 },function() { 
 picTimer = setInterval(function() { 
 showPics(index); 
 index++; 
 if(index == len) {index = 0;} 
 },4000); //此4000代表自动播放的间隔,单位:毫秒 
 }).trigger("mouseleave"); 
 
 //显示图片函数,根据接收的index值显示相应的内容 
 function showPics(index) { //普通切换 
 var nowLeft = -index*sWidth; //根据index值计算ul元素的left值 
 $("#focus ul").stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position 
 $("#focus .btn span").stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300);//为当前的按钮切换到选中的效果 
 } 
}); 

具体效果可以参看 效果演示         

这里先给大家一个开胃菜,后面会抽时间简单说一下如何在 RunJS上发布自己的小程序以及使用RunJS的一些小技巧。

下载本文
显示全文
专题