完美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 相关文章推荐
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
jquery操作checkbox示例分享
Jul 21 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
javascript对浅拷贝和深拷贝的详解
Oct 14 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
详解vue.js之props传递参数
Dec 12 Javascript
tween.js缓动补间动画算法示例
Feb 13 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
js回文数的4种判断方法示例
Jun 04 Javascript
vue element 生成无线级左侧菜单的实现代码
Aug 21 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
德生H-501的评价与改造
2021/03/02 无线电
zend framework配置操作数据库实例分析
2012/12/06 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
php邮件发送的两种方式
2020/04/28 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
JavaScript 实现??打印?理
2007/04/28 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
js倒计时小实例(多次定时)
2016/12/08 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
python分析作业提交情况
2017/11/22 Python
python实现可逆简单的加密算法
2019/03/22 Python
python getpass模块用法及实例详解
2019/10/07 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
大学军训感言800字
2014/02/27 职场文书
企业后勤岗位职责
2014/02/28 职场文书
公共场所标语
2014/06/30 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
MySQL sql模式设置引起的问题
2022/05/15 MySQL