完美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 相关文章推荐
js href的用法
May 13 Javascript
Dom操作之兼容技巧分享
Sep 20 Javascript
JS中setTimeout()的用法详解
Apr 14 Javascript
获取表单控件原始(初始)值的方法
Aug 21 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
Aug 15 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
jQuery实现带动画效果的二级下拉导航方法
Mar 11 Javascript
基于Vue.js实现简单搜索框
Mar 26 Javascript
基于JS实现的随机数字抽签实例
Dec 08 Javascript
基于jquery实现五星好评
Nov 18 jQuery
Angular中innerHTML标签的样式不起作用的原因解析
Jun 18 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购物车实现代码
2011/10/10 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
js 事件小结 表格区别
2007/08/13 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
vue写一个组件
2018/04/09 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
Vue实现简易计算器
2020/02/25 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
python每次处理固定个数的字符的方法总结
2013/01/29 Python
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
Python中拆分字符串的操作方法
2019/07/23 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
python3 logging日志封装实例
2020/04/08 Python
django rest framework 自定义返回方式
2020/07/12 Python
Python调用C/C++的方法解析
2020/08/05 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
行政人员工作职责
2013/12/05 职场文书
小学教师培训感言
2014/02/11 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
地理教师岗位职责
2014/03/16 职场文书
学生打架检讨书
2014/10/20 职场文书
银行稽核岗位职责
2015/04/13 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书