完美JQuery图片切换效果的简单实现


Posted in Javascript onJuly 21, 2016

效果如下:

完美JQuery图片切换效果的简单实现

css:

body { font-family:"Microsoft Yahei"; }
body,ul,li,img,h3,dl,dd,dt,h1{margin:0px;padding:0px;list-style:none;}  
img{vertical-align: top;}
/***大图切换***/
.scroll_view{margin: 0px auto;overflow:hidden;position: relative;}
.photo_view li{position:absolute;width: 100%;}
.photo_view li em,.photo_view li h3{position: absolute;bottom: 0px;z-index: 1;height: 35px;line-height: 35px;width: 100%;left: 0px;}
.photo_view li em{z-index: 1;background:rgba(0,0,0,0.5);filter: progid:DXImageTransform.Microsoft.gradient( GradientType = 0,startColorstr = '#50000000',endColorstr = '#50000000');_background:#000;}
.photo_view li h3{z-index: 2;text-indent: 1em;font-weight: normal;}
.photo_view li h3 a{color:#fff;}
.photo_view li h3 a:hover{color:#f60;}
.small_photo{position: absolute;bottom: 40px;right: 10px;cursor: pointer;z-index: 4;}
.small_photo li {float: left;padding-right: 10px;}
.small_photo li img{width: 80px;height: 35px;border: solid 2px #ccc;border-radius: 2px;}
.small_photo li.active img{border: solid 2px #f60;}

html:

<!-- start:大图切换 -->
<div class="scroll_view">
  <ul class="photo_view">
    <li><img src="images/ad1.jpg" alt="" class="" /><em></em><h3><a href="javascript:void(0);">图片效果1</a></h3></li>
    <li><img src="images/ad2.jpg" alt="" class="" /><em></em><h3><a href="javascript:void(0);">图片效果2</a></h3></li>
    <li><img src="images/ad3.jpg" alt="" class="" /><em></em><h3><a href="javascript:void(0);">图片效果3</a></h3></li>
    <li><img src="images/ad4.jpg" alt="" class="" /><em></em><h3><a href="javascript:void(0);">图片效果4</a></h3></li>
  </ul>
  <ul class="small_photo"></ul>
</div>
<!-- End:大图切换 -->

js:

$.fn.extend({  
  imgScroll:function(options){    
    var def={phtot_parent:$(".scroll_view"),photo_view:$(".photo_view"),small_photo:$(".small_photo"),speed:800,isauto:true,width:800,height:349},
      opt=$.extend({},def,options),
      $photo_view=opt.photo_view,
      $small_photo=opt.small_photo,
      speed=opt.speed,
      isauto=opt.isauto,
      index=0,
      _length=$photo_view.find("li").length,
      strTime=null;
    opt.phtot_parent.css({width:opt.width,height:opt.height});
    $photo_view.find("li:not(:first)").hide()//.find("img").hide();
    $photo_view.find("li").each(function(i){
      $small_photo.append('<li><img src="'+$(this).find("img").attr("src")+'" alt="" class="" /></li>');
    })
    $small_photo.find("li:first").addClass("active");
    //小图鼠标动作
    $small_photo.find("li").bind("mouseenter",function(){  
      clearInterval(strTime);
      if(index!=$(this).index()){
        index=$(this).index();  
        animate(index)
      }
    }).bind("mouseleave",function(){      
      if(isauto){
        start();  
      }
    });
    //大图悬停动作
    $photo_view.find("li").bind("mouseenter",function(){  
      clearInterval(strTime);      
    }).bind("mouseleave",function(){      
      if(isauto){
        start();  
      }
    });
    //自动播放
    if(isauto){
      start();  
    }
    //启动自动播放
    function start(){
      strTime=setInterval(function(){
        index >= _length-1 ? index=0 : index++;
        animate(index);
      },speed);
    }
    //动画效果
    function animate(_index){//console.log(_index)
      $small_photo.find("li").eq(_index).addClass('active').siblings().removeClass("active");//改变小图导航样式
      $photo_view.find("li").eq(_index).css("z-index",1).siblings().css("z-index",0);//控制absolute的层级
      $photo_view.find("li").eq(_index).show().find("img").css({"opacity": 0});  //装大图的opacity设置为0  
      $photo_view.find("li").eq(_index).find("img").animate({opacity:1},300,function(){
        $(this).removeAttr("style");//动画之后删除opacity
        $photo_view.find("li").eq(_index).show().siblings().hide();//显示大图  
      });//展示当前显示动画
    }
  }
});
<script type="text/javascript">
  $(function(){$("scroll_view").imgScroll({photo_view:$(".photo_view"),small_photo:$(".small_photo"),speed:3000,isauto:true}); 
  })
</script>

以上这篇完美JQuery图片切换效果的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
json 定义
Jun 10 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
Sep 21 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
jquery使整个div区域可以点击的方法
Jun 24 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
详解angular2封装material2对话框组件
Mar 03 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
浅谈箭头函数写法在ReactJs中的使用
Aug 22 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
Sep 03 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
jQuery的ajax下载blob文件
Jul 21 #Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
Jul 21 #Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 #Javascript
jQuery新窗口打开外链接
Jul 21 #Javascript
JS for循环中i++ 和 ++i的区别介绍
Jul 20 #Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
Jul 20 #Javascript
Node.js如何自动审核团队的代码
Jul 20 #Javascript
You might like
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
浅谈Python 参数与变量
2020/06/20 Python
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
幼儿运动会邀请函
2014/01/17 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
小学运动会宣传稿
2015/07/23 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server