JS实现的简单轮播图运动效果示例


Posted in Javascript onDecember 22, 2016

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

<!DOCTYPE HTML>
<html>
<head>
 <meta http-equiv="content-type" charset="utf-8" />
  <meta http-equiv="content-type" content="text/html" />
  <title>demo</title>
</head>
<style type="text/css">
*{margin:0;padding:0;}
ul,li,img{margin:0;padding:0;border:0;list-style-type:none;}
#list{height:250px;list-style-type:none;overflow:hidden;}
#luanpo{max-width:600px;height:200px;border:1px solid #CCC;margin:0 auto;position:relative;overflow:hidden;}
#imgs li{float:left;height:200px;width:600px;}
#imgs{height:200px;background:#ddd;position:absolute;}
.a{background:red;}
.b{background:yellow;}
#num{overflow:auto;position:absolute;right:0;bottom:0;}
#num li{float:left;height:30px;width:30px;text-align:center;line-height:30px;border:1px solid #CCC;margin-left:10px;cursor:pointer;z-index:2222;}
</style>
<body>
  <div id="luanpo">
    <ul id="imgs">
      <li>a</li>
      <li>b</li>
      <li>c</li>
      <li>d</li>
    </ul>
    <ul id="num">
      <li class="a">1</li>
      <li class="b">2</li>
      <li class="b">3</li>
      <li class="b">4</li>
    </ul>
  </div>
<script type="text/javascript">
var imgs=document.getElementById('imgs').getElementsByTagName('li');
var nums=document.getElementById("num").getElementsByTagName("li");
var luanpo=document.getElementById("luanpo");
var oimg=document.getElementById('imgs');
var iNow=0;
var dt=null;
oimg.style.width=imgs.length*imgs[0].offsetWidth+"px";
function tab(){
for(var i=0;i<nums.length;i++){
  nums[i].index=i;
  nums[i].onclick=function(){
    clearInterval(dt);
    iNow=this.index;
    for(var i=0;i<nums.length;i++){
      nums[i].className="b";
    }
    this.className="a";
    oimg.style.left=-(imgs[0].offsetWidth*iNow)+"px";  //这边可以加上我前面所写的那个缓动框架
  }
  nums[i].onmouseout=function(){
      start();
  }
}
}
function start(){
clearInterval(dt);
  dt=setInterval(function(){
    if(iNow>nums.length-2){
    iNow=0;
    }else{
    iNow++;
    }
    for(var k=0;k<nums.length;k++){
      if(iNow==nums[k].index){nums[k].className='a';}else{nums[k].className='b';}
    }
    oimg.style.left=-(imgs[0].offsetWidth*iNow)+"px";  //这边可以加上我前面所写的那个缓动框架
  },3000);
  tab();
}
start();
</script>
</body>
</html>

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

Javascript 相关文章推荐
执行iframe中的javascript方法
Oct 07 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
Mar 11 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
javascript中Math.random()使用详解
Apr 15 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
Aug 10 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 Javascript
对angularJs中$sce服务安全显示html文本的实例
Sep 30 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
Dec 22 #Javascript
详解js的事件代理(委托)
Dec 22 #Javascript
HTML页面定时跳转方法解析(2种任选)
Dec 22 #Javascript
vue双向绑定的简单实现
Dec 22 #Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 #Javascript
深入理解jquery中extend的实现
Dec 22 #Javascript
jQuery插件DataTable使用方法详解(.Net平台)
Dec 22 #Javascript
You might like
星际争霸任务指南——神族
2020/03/04 星际争霸
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
PHP序列化操作方法分析
2016/09/28 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中os.path用法分析
2015/01/15 Python
Python断言assert的用法代码解析
2018/02/03 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
Python中Numpy mat的使用详解
2019/05/24 Python
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
城管大队整治方案
2014/05/06 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
主题班会开场白
2015/06/01 职场文书
村主任当选感言
2015/08/01 职场文书
JavaScript函数柯里化
2021/11/07 Javascript
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers