Jquery制作--焦点图淡出淡入

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

之前写了一个焦点图左右轮播的,感觉淡出淡入用得也比较多,就干脆一起放上来啦。这个容器用了百分比宽度,图片始终保持居中处理,定宽或者自适应宽度都是可以的。

兼容到IE6+以上浏览器,有淡出淡入速度和切换间隔两个参数可以改。效果图如下:

Html代码如下:

<!doctype html><htmllang="zh-CN"><head><metacharset="utf-8"><title>淡出淡入焦点图</title><linkhref="CSS/style.css"rel="stylesheet"/><scriptsrc="js/jquery-1.9.1.min.js"></script><scriptsrc="js/common.js"></script></head><body><divclass="wrap"><divclass="banner"><divclass="bannerCon"><!--容器有做自适应宽度处理,下面的图片会保持居中显示,建议使用最大尺寸的图片填充--><ulclass="imgList"><li><ahref="#"><imgsrc="images/banner01.jpg"alt=""/></a></li><li><ahref="#"><imgsrc="images/banner02.jpg"alt=""/></a></li><li><ahref="#"><imgsrc="images/banner03.jpg"alt=""/></a></li></ul><ulclass="btnList"><liclass="cur"><span></span></li><li><span></span></li><li><span></span></li></ul><spanclass="PRe-nex prev">&lt;</span><spanclass="pre-nex next">&gt;</span></div></div></div></body></html>

Css样式如下:

@charset "utf-8";/*简单reset*/body, p, ul, ol, li{margin:0;padding:0;

}ul, ol{list-style:none;

}img{border:none; }a,button{outline:none; }.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;

}/*具体样式*/.banner{height:400px; }.banner .bannerCon{position:relative;width:60%;height:100%;margin:0 auto;overflow:hidden;

}.bannerCon .imgList{width:100%;height:100%;

}.bannerCon .imgList li{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e2f6fd;/*这个背景是为了展示宽度大于图片宽度时的区域,可以删除*/z-index:1;

}.bannerCon .imgList li a{display:block;height:100%;text-align:center;

}.imgList li a img{position:absolute;top:0;left:50%;margin-left:-400px;/*这个数值填图片的实际宽度的一半*/}.bannerCon .pre-nex{display:none;position:absolute;top:50%;width:40px;height:60px;margin-top:-40px;font:bold 40px/60px Simsun;color:#ccc;text-align:center;border:none;background:rgba(0,0,0,.30);filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr=#4c000000, endColorStr=#4c000000);cursor:pointer;z-index:3;

}.bannerCon .pre-nex.show{display:inline-block; }.bannerCon .prev{left:13%; }.bannerCon .next{right:13%; }.bannerCon .btnList{position:absolute;left:0;bottom:20px;width:100%;height:12px;text-align:center;z-index:6;_overflow:hidden;

}.bannerCon .btnList li{display:inline; }.bannerCon .btnList li span{display:inline-block;width:12px;height:12px;margin:0 5px;border-radius:6px;background-color:#14829e;cursor:pointer;

}.bannerCon .btnList li.cur span{background-color:#f30; }

View Code

Js代码如下:

//加载在文本读取之后的js语句 开始 =============================================================functionfadeImg(obj,speed,interval){//父级容器,淡出淡入速度,切换间隔$("."+obj).each(function(){var$box = $(this),

$imgUl= $box.children(".imgList"),

$imgLi= $imgUl.children("li"),

$btnUl= $box.children(".btnList"),

$btnLi= $btnUl.children("li"),

$btnPreNex= $box.children(".pre-nex"),

n=$imgLi.length,

k= 0,

Player= setInterval(function(){fade()},interval);

$imgLi.eq(0).fadeIn(speed);//第一张先淡入functionfade(){//淡出淡入事件k += 1;if(k >=n){

k= 0;

}

$btnLi.removeClass('cur').eq(k).addClass('cur');

$imgLi.fadeOut(speed).eq(k).fadeIn(speed);

};

$btnLi.click(function(){//小圆点点击事件varindex = $btnLi.index(this);

$(this).addClass('cur').siblings('li').removeClass('cur');

$imgLi.fadeOut(speed).eq(index).fadeIn(speed);

k=index;

});

$btnPreNex.click(function(){//左右按钮点击事件if(!$imgLi.is(":animated")){if($(this).hasClass('next')){

k+= 1;if(k >=n){

k= 0;

}

}else{

k+= -1;if(k < 0){

k= n-1;

}

}

$btnLi.removeClass('cur').eq(k).addClass('cur');

$imgLi.fadeOut(speed).eq(k).fadeIn(speed);

}

});

$box.hover(//鼠标移入事件(不用toggle是为了兼容1.9+的JQ库)function(){

clearInterval(Player);

$btnPreNex.addClass('show');

},function(){

Player= setInterval(function(){fade()},interval);

$btnPreNex.removeClass('show');

}

);

});

}

$(function() {//读取轮播事件fadeImg("bannerCon",1000,3000);

});

View Code

jq库用1.7+的都没问题的啦^_^ 。如果觉得对你们有帮助,就给个赞哈~~~

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航