JS实现可切换图片的幻灯切换效果示例


Posted in Javascript onMay 24, 2019

本文实例讲述了JS实现可切换图片的幻灯切换效果。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>JS切换图片幻灯切换效果</title>
  <style>
    body, div, ul, li { margin: 0; padding: 0; }
    ul { list-style-type: none; }
    body { background: #000; text-align: center; font: 12px/20px Arial; }
    #box { position: relative; width: 322px; height: 172px; background: #fff; border-radius: 5px; border: 8px solid #fff; margin: 10px auto; }
    #box .list { position: relative; width: 320px; height: 240px; overflow: hidden; border: 1px solid #ccc; }
    #box .list li { position: absolute; top: 0; left: 0; width: 320px; height: 240px; opacity: 0; filter: alpha(opacity=0); }
    #box .list li.current { opacity: 1; filter: alpha(opacity=100); }
    #box .count { position: absolute; right: 0; bottom: 5px; }
    #box .count li { color: #fff; float: left; width: 20px; height: 20px; cursor: pointer; margin-right: 5px; overflow: hidden; background: #F90; opacity: 0.7; filter: alpha(opacity=70); border-radius: 20px; }
    #box .count li.current { color: #fff; opacity: 1; filter: alpha(opacity=100); font-weight: 700; background: #f60; }
    #tmp { width: 100px; height: 100px; background: red; position: absolute; }
  </style>
  <script type="text/javascript">
    window.onload = function() {
      var oBox = document.getElementById("box");
      var aUl = document.getElementsByTagName("ul");
      var aImg = aUl[0].getElementsByTagName("li");
      var aNum = aUl[1].getElementsByTagName("li");
      var timer = play = null;
      var i = index = 0;
      var bOrder = true;
      //切换按钮
      for(i = 0; i < aNum.length; i++) {
        aNum[i].index = i;
        aNum[i].onmouseover = function() {
          show(this.index)
        }
      }
      //鼠标划过关闭定时器
      oBox.onmouseover = function() {
        clearInterval(play)
      };
      //鼠标离开启动自动播放
      oBox.onmouseout = function() {
        autoPlay()
      };
      //自动播放函数
      function autoPlay() {
        play = setInterval(function() {
          //判断播放顺序
          bOrder ? index++ : index--;
          //正序
          index >= aImg.length && (index = aImg.length - 2, bOrder = false);
          //倒序
          index <= 0 && (index = 0, bOrder = true);
          //调用函数
          show(index)
        }, 2000);
      }
      autoPlay();//应用
      function show(a) {
        index = a;
        var alpha = 0;
        for(i = 0; i < aNum.length; i++)aNum[i].className = "";
        aNum[index].className = "current";
        clearInterval(timer);
        for(i = 0; i < aImg.length; i++) {
          aImg[i].style.opacity = 0;
          aImg[i].style.filter = "alpha(opacity=0)";
        }
        timer = setInterval(function() {
          alpha += 2;
          alpha > 100 && (alpha = 100);
          aImg[index].style.opacity = alpha / 100;
          aImg[index].style.filter = "alpha(opacity = " + alpha + ")";
          alpha == 100 && clearInterval(timer)
        }, 20);
      }
    };
  </script>
</head>
<body>
<div id="box">
  <ul class="list">
    <li class="current"><img src="img/3.jpg" width="320" height="240"/></li>
    <li><img src="img/1.jpg" width="320" height="240"/></li>
    <li><img src="img/2.jpg" width="320" height="240"/></li>
    <li><img src="img/3.jpg" width="320" height="240"/></li>
    <li><img src="img/4.jpg" width="320" height="240"/></li>
  </ul>
  <ul class="count">
    <li class="current">1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</div>
</body>
</html>

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

Javascript 相关文章推荐
一些常用的JavaScript函数(json)附详细说明
May 25 Javascript
解析JavaScript中的标签语句
Jun 19 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
js获取 type=radio 值的方法
May 09 Javascript
node.js中的dns.getServers方法使用说明
Dec 08 Javascript
node.js读取文件到字符串的方法
Jun 29 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
纯css下拉菜单 无需js
Aug 15 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
JavaScript十大取整方法实例教程
Dec 03 Javascript
详解JS ES6编码规范
May 07 Javascript
微信小程序动态添加view组件的实例代码
May 23 #Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 #Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 #Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
May 23 #Javascript
使用vue自定义指令开发表单验证插件validate.js
May 23 #Javascript
微信小程序开发实现消息推送
Nov 18 #Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 #jQuery
You might like
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
javascript 写类方式之七
2009/07/05 Javascript
怎么清空javascript数组
2013/05/11 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Python模块学习 datetime介绍
2012/08/27 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python3安装crypto出错及解决方法
2019/07/30 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
Python3分析处理声音数据的例子
2019/08/27 Python
利用python爬取有道词典的方法
2020/12/08 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
小学生自我鉴定
2013/10/12 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
低碳环保标语
2014/06/12 职场文书
大学计划书范文800字
2014/08/14 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书