完美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 相关文章推荐
快速排序 php与javascript的不同之处
Feb 22 Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
javascript小数精度丢失的完美解决方法
May 31 Javascript
node.js学习之交互式解释器REPL详解
Dec 08 Javascript
canvas红包照片实例分享
Feb 28 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
php网站地图生成类示例
2014/01/13 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
vue货币过滤器的实现方法
2017/04/01 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
python多线程实现TCP服务端
2019/09/03 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
使用Python封装excel操作指南
2021/01/29 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
平面设计师的工作职责
2013/11/21 职场文书
预备党员的自我评价
2014/03/12 职场文书
党员干部承诺书
2014/03/25 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2015年材料员工作总结
2015/04/30 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
Redis keys命令的具体使用
2022/06/05 Redis