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 相关文章推荐
JavaScript多线程的实现方法
May 08 Javascript
不能再简单的无闪刷新验证码原理很简单
Nov 05 Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
JS 使用for循环遍历子节点查找元素
Sep 06 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
Sep 14 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
详解Layer弹出层样式
Aug 21 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 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
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
ThinkPHP安装和设置
2015/07/27 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python探索之修改Python搜索路径
2017/10/25 Python
Python 12306抢火车票脚本
2018/02/07 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
python 读取文件并替换字段的实例
2018/07/12 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
程序员机试试题汇总
2012/03/07 面试题
初中生自我鉴定
2014/02/04 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
学校中秋节活动总结
2015/03/23 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
同学联谊会邀请函
2019/06/24 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL