完美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 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 Javascript
使用EXT实现无刷新动态调用股票信息
Nov 01 Javascript
js综合应用实例简单的表格统计
Sep 03 Javascript
js判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
微信小程序 video组件详解
Oct 25 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
深入剖析JavaScript instanceof 运算符
Jun 14 Javascript
基于JQuery实现页面定时弹出广告
May 08 jQuery
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
解析MySql与Java的时间类型
2013/06/22 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
深入理解javascript中的this
2021/02/08 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Python是怎样处理json模块的
2020/07/16 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
《锄禾》教学反思
2014/04/08 职场文书
协议书怎么写
2014/04/21 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
高中数学教学反思范文
2016/02/18 职场文书