完美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 相关文章推荐
firefox下input type=&quot;file&quot;的size是多大
Oct 24 Javascript
Javascript:为input设置readOnly属性(示例讲解)
Dec 25 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
JQuery控制Radio选中方法分析
May 29 Javascript
Javascript 是你的高阶函数(高级应用)
Jun 15 Javascript
jquery的幻灯片图片切换效果代码分享
Sep 07 Javascript
jquery实现的伪分页效果代码
Oct 29 Javascript
js中window.open的参数及注意注意事项
Jul 06 Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
优雅的使用javascript递归画一棵结构树示例代码
Sep 22 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
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 Cookie的一个使用注意点
2008/11/08 PHP
PHPMailer 中文使用说明小结
2010/01/22 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
2018/09/17 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
Python深入学习之内存管理
2014/08/31 Python
python中global用法实例分析
2015/04/30 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
用Python 执行cmd命令
2020/12/18 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
教育专业个人求职信
2013/12/02 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
优秀护士先进事迹
2014/05/08 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书