完美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 相关文章推荐
可缩放Reloaded-一个针对可缩放元素的复用组件
Mar 10 Javascript
JavaScript XML实现两级级联下拉列表
Nov 10 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
全面详细的jQuery常见开发技巧手册
Feb 21 Javascript
jQuery实现每隔几条元素增加1条线的方法
Jun 27 Javascript
详解webpack提取第三方库的正确姿势
Dec 22 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
May 06 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
May 20 Javascript
Vue实现导航栏的显示开关控制
Nov 01 Javascript
微信小程序实现电子签名并导出图片
May 27 Javascript
vue中的计算属性和侦听属性
Nov 06 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
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
浅谈php自定义错误日志
2015/02/13 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
Js组件的一些写法
2010/09/10 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
浅析Python中return和finally共同挖的坑
2017/08/18 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
python3.5安装python3-tk详解
2019/04/26 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
小学生感恩父母演讲稿
2014/08/28 职场文书
党校党性分析材料
2014/12/19 职场文书
春季运动会开幕词
2015/01/28 职场文书
重阳节活动主持词
2015/07/04 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
JavaScript的function函数详细介绍
2021/11/20 Javascript
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python