jQuery实现的简单图片轮播效果完整示例


Posted in jQuery onFebruary 08, 2018

本文实例讲述了jQuery实现的简单图片轮播效果。分享给大家供大家参考,具体如下:

先来看看运行效果:

jQuery实现的简单图片轮播效果完整示例

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<title>jquery实现图片轮播效果</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style>
#lunbo{width: 600px;height: 300px;margin: 0 auto;overflow: hidden;}
#pics{width: 600px;height: 300px;cursor: pointer;position: relative;}
ul li{width: 600px;height: 300px;list-style: none;position: absolute;top: 0;left: 0;display: none;}
img{width: 600px;height: 300px;}
</style>
</head>
<body>
<div id="lunbo">
  <ul id="pics">
    <li style="display: inline;"><img src="http://pic.qiantucdn.com/58pic/14/60/54/32n58PICxE6_1024.jpg"></li>
    <li><img src="http://pic.qiantucdn.com/58pic/19/09/94/5678b76f75315_1024.jpg"></li>
    <li><img src="http://pic.qiantucdn.com/58pic/19/39/22/01D58PICFx7_1024.jpg"></li>
    <li><img src="http://pic.qiantucdn.com/58pic/19/11/08/5679490f4892d_1024.jpg"></li>
    <li><img src="http://pic.qiantucdn.com/58pic/18/44/26/5620690acb188_1024.jpg"></li>
  </ul>
</div>
<script type="text/javascript">
$(document).ready(function(){
  var oLi = $("li");
  var liWidth = oLi.eq(0).width();
  var liHeight = oLi.eq(0).height();
   //每隔3秒进行轮播
  var timer = setInterval(change,3000);
    //鼠标放置在图片上时停止轮播,移开时继续轮播
    $("div").mouseover ( function(){
    clearInterval(timer);
  })
  $("div").mouseout (function(){
    timer = setInterval(change,3000);
  })
  //轮播函数
  var prevIndex = 0,nextIndex = 1;
  function change(){
    if (prevIndex == oLi.length-1 ) {//若当前图片是最后一张图片,下一张出现首张图片
      nextIndex = 0;
    }
    var n = Math.floor(Math.random()*3);
    if (n == 0) {
      fade(prevIndex,nextIndex);
    }
    else if (n== 2) {
      slide(prevIndex,nextIndex);
    }
    else{
      grap(prevIndex,nextIndex);
    }
    prevIndex = nextIndex;
    nextIndex ++;
  }
  //淡入淡出效果,
   function fade(prevIndex,nextIndex){
    //传入当前显示图片以及下一张图片的索引
    oLi.eq(prevIndex).fadeOut(1000);
    oLi.eq(nextIndex).fadeIn(1000);
   }
   //向左右滑动效果
   function slide(prevIndex,nextIndex){
    var rand = Math.floor(Math.random()*2);
    oLi.eq(nextIndex).show();
    oLi.eq(nextIndex).css("z-index","-1");
    if (rand) {
      //向左滑动
      oLi.eq(prevIndex).animate({left: -liWidth},1000,fun);
    }
    else{
      oLi.eq(prevIndex).animate({left: liWidth},1000,fun);
    }
    function fun(){
      oLi.eq(prevIndex).css({"left":"0","display":"none"});
      oLi.eq(nextIndex).css("z-index","1");
    }
   }
   //收缩效果
   function grap(prevIndex,nextIndex){
    var rand = Math.floor(Math.random()*4);
    oLi.eq(nextIndex).show();
    oLi.eq(nextIndex).css("z-index","-1");
    switch (rand){
      case 0://向左上角滑动
        oLi.eq(prevIndex).animate({left: -liWidth,top: -liHeight},1000,function(){
          oLi.eq(prevIndex).css({"left":"0","top": "0","display":"none"});
          oLi.eq(nextIndex).css("z-index","1");
        });break;
      case 1://向右上角滑动
        oLi.eq(prevIndex).animate({left: liWidth,top: -liHeight},1000,function(){
          oLi.eq(prevIndex).css({"left":'0',"top":"0","display":"none"});
          oLi.eq(nextIndex).css("z-index","1");
        });break;
      case 2://向右下角滑动
        oLi.eq(prevIndex).animate({left: liWidth,top: liHeight},1000,function(){
          oLi.eq(prevIndex).css({"left":'0',"top":"0","display":"none"});
          oLi.eq(nextIndex).css("z-index","1");
        });break;
      case 3://向左下角滑动
        oLi.eq(prevIndex).animate({left: -liWidth,top: liHeight},1000,function(){
          oLi.eq(prevIndex).css({"left":'0',"top":"0","display":"none"});
          oLi.eq(nextIndex).css("z-index","1");
        });break;
      default:break;
    }
   }
  });
</script>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
javascript+jQuery实现360开机时间显示效果
Nov 03 jQuery
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
jQuery 防止相同的事件快速重复触发方法
Feb 08 #jQuery
jQuery实现动态显示select下拉列表数据的方法
Feb 05 #jQuery
jQuery Dom元素操作技巧
Feb 04 #jQuery
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 #jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 #jQuery
jquery.picsign图片标注组件实例详解
Feb 02 #jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 #jQuery
You might like
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
Python内置数据类型详解
2014/08/18 Python
Python实现身份证号码解析
2015/09/01 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
numpy.array 操作使用简单总结
2019/11/08 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
django的autoreload机制实现
2020/06/03 Python
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
四风存在的原因分析
2014/02/11 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
2015中秋祝酒词
2015/08/12 职场文书
postgresql中如何执行sql文件
2023/05/08 PostgreSQL