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 相关文章推荐
JSON语法五大要素图文介绍
Dec 04 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
jQuery实现的导航下拉菜单效果
Jul 04 Javascript
微信小程序  action-sheet详解及实例代码
Nov 09 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
Jun 11 Javascript
vue.js todolist实现代码
Oct 29 Javascript
seajs下require书写约定实例分析
May 16 Javascript
js实现图片跟随鼠标移动效果
Oct 16 Javascript
echarts浮动显示单位的实现方法示例
Dec 04 Javascript
浅谈JSON5解决了JSON的两大痛点
Dec 14 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
人族 TERRAN 概述
2020/03/14 星际争霸
PHP 采集程序 常用函数
2008/12/18 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
JavaScript继承模式粗探
2016/01/12 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
代码实例讲解python3的编码问题
2019/07/08 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
四议两公开实施方案
2014/03/28 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
2019秋季运动会口号
2019/06/25 职场文书
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js