简单实现轮播图效果的实例


Posted in Javascript onJuly 15, 2016

一、要点:

1.页面加载时,图片重合,叠在一起[绝对定位];

2.第一张显示,其它隐藏;

3.设置下标,给下标设置颜色让它随图片移动;

4.鼠标移动到图片上去,显示左右移动图标,鼠标移走,继续轮播;

二、实现代码:

html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>轮播图</title>
  <link href="css/LunBimg.css" rel="stylesheet" />
  <script src="js/jquery-1.10.2.min.js"></script>
  <script src="js/LunBimg.js"></script>
</head>
<body>
  <div id="allswapImg">
    <div class="swapImg"><img src="image/1.jpg" /></div>
    <div class="swapImg"><img src="image/2.jpg" /></div>
    <div class="swapImg"><img src="image/3.jpg" /></div>
    <div class="swapImg"><img src="image/4.jpg" /></div>
    <div class="swapImg"><img src="image/5.jpg" /></div>
    <div class="swapImg"><img src="image/6.jpg" /></div>
  </div>
  <div class="btn btnLeft"><</div>
  <div class="btn btnRight">></div>
  <div id="tabs">
    <div class="tab bg">1</div>
    <div class="tab">2</div>
    <div class="tab">3</div>
    <div class="tab">4</div>
    <div class="tab">5</div>
    <div class="tab">6</div>
  </div>
</body>
</html>

css代码:

* {
 padding:0px;
 margin:0px;
}

.swapImg {
  position:absolute;
  
}
.btn {
  position:absolute;
  height:90px;
  width:60px;
  background:rgba(0,0,0,0.5);/*设置背景颜色为黑色,透明度为50%*/
  color:#ffffff;
  text-align:center;
  line-height:90px;
  font-size:40px;
  top:155px;/*图片高度400/2-45*/
  cursor:pointer;
  /*display:none;*/
}

.btnRight {
  left:840px;/*图片宽度900-导航宽度60*/
}
#tabs {
  position:absolute;
  top:370px;
  margin-left:350px;
}
.tab {
  height:20px;
  width:20px;
  background:#05e9e2;
  line-height:20px;
  text-align:center;
  font-size:10px;
  float:left;
  color:#ffffff;
  margin-right:10px;
  border-radius:100%;
  cursor:pointer;
}
.bg {
  background:#00ff21;
}

  js代码:

/// <reference path="_references.js" />

var i = 0;//全局变量
//定义一个变量用来获取轮播的过程
var time;
$(function ()
{
  //1.页面加载后,找到Class等于swapImg的第一个对象,让它显示,它的兄弟元素隐藏
  $(".swapImg").eq(0).show().siblings().hide();
  showTime();
  //当鼠标放到下标上显示该图片,鼠标移走继续轮播
  $(".tab").hover(
    function ()
    {
      //获取到当前鼠标所在的下标的索引
      i = $(this).index();
      show();
      //鼠标放上去之后,怎么停止呢?获取到变量的过程,清除轮播,把变量传进去
      clearInterval(time);
    }, function ()
    {
      showTime();
    });

  //要求四,当我点击左右切换
  $(".btnLeft").click(function ()
  {
    //1.点击之前要停止轮播
    clearInterval(time);
    //点了之后,-1
    if (i == 0)
    {
      i =6;
    }
    i--;
    show();
    showTime();
  });
  $(".btnRight").click(function () {
    //1.点击之前要停止轮播
    clearInterval(time);
    //点了之后,-1
    if (i == 5) {
      i = -1;
    }
    i++;
    show();
    showTime();
  });
  

});

function show() {
  //$("#allswapImg").hover(function ()
  //{
  //  $(".btn").show();
  //}, function ()
  //{
  //  $(".btn").hide();
  //});
  //fadeIn(300)淡入,fadeout(300)淡出,过滤时间0.3s
  $(".swapImg").eq(i).fadeIn(300).siblings().fadeOut();
  $(".tab").eq(i).addClass("bg").siblings().removeClass("bg");
}

function showTime()
{
  time = setInterval(function () {
    i++;
    if (i == 6) {
      //只有6张图片,所以i不能超过6,如果i等于6时,我们就让它等于第一张
      i = 0;
    }
    show();
  }, 3000);
}

以上这篇简单实现轮播图效果的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js对象的比较
Feb 26 Javascript
javascript瀑布流式图片懒加载实例
Jun 28 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 Javascript
vue的常用组件操作方法应用分析
Apr 13 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
详解easyui基于 layui.laydate日期扩展组件
Jul 18 Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
Vee-validate 父组件获取子组件表单校验结果的实例代码
May 20 Javascript
vue组件三大核心概念图文详解
May 30 Javascript
vue请求数据的三种方式
Mar 04 Javascript
vue项目接口域名动态获取操作
Aug 13 Javascript
uin-app+mockjs实现本地数据模拟
Aug 26 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
Jul 15 #Javascript
JavaScript计算器网页版实现代码分享
Jul 15 #Javascript
js实现楼层效果的简单实例
Jul 15 #Javascript
基于JavaScript实现轮播图代码
Jul 14 #Javascript
js轮播图代码分享
Jul 14 #Javascript
jQuery中deferred对象使用方法详解
Jul 14 #Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 #Javascript
You might like
php+mysql分页代码详解
2008/03/27 PHP
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
请离开include_once和require_once
2013/07/18 PHP
php后门URL的防范
2013/11/12 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
python变量命名的7条建议
2019/07/04 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Python正则表达式学习小例子
2020/03/03 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python
七个非常实用的Python工具包总结
2021/06/15 Python