栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

基于Jquery实现焦点图淡出淡入效果

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Jquery实现焦点图淡出淡入效果

本文实例讲述了基于Jquery实现焦点图淡出淡入效果代码。分享给大家供大家参考。具体如下:

这个容器用了百分比宽度,图片始终保持居中处理,定宽或者自适应宽度都是可以的。

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

运行效果截图如下:

具体代码如下:

Html代码如下:




 
 淡出淡入焦点图
 
 
 


 
  
   
    
    
< >

Css样式如下:

@charset "utf-8";

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; }

Js代码如下:

//加载在文本读取之后的js语句 开始 =============================================================
  function fadeImg(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);      //第一张先淡入
      function fade(){    //淡出淡入事件
 k += 1;
 if(k >= n){
   k = 0;
 }
 $btnLi.removeClass('cur').eq(k).addClass('cur');
 $imgLi.fadeOut(speed).eq(k).fadeIn(speed);  
      };
      $btnLi.click(function(){//小圆点点击事件
 var index = $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);
  });  

jq库用1.7+的都是没有问题的,希望对大家的学习有所帮助,感觉不错的同学就默默的点个赞吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/99602.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号