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 相关文章推荐
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
无缝滚动的简单实现代码(推荐)
Jun 07 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
Dec 29 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
老生常谈ES6中的类
Jul 31 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
Jan 24 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
Feb 22 Javascript
vue实现图片预览组件封装与使用
Jul 13 Javascript
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
微信小程序动态添加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
PHP生成便于打印的网页
2006/10/09 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
Python while 循环使用的简单实例
2016/06/08 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
python素数筛选法浅析
2018/03/19 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Python 图片处理库exifread详解
2021/02/25 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
2014年健康教育工作总结
2014/11/20 职场文书
部队个人年终总结
2015/03/02 职场文书
胡桃夹子观后感
2015/06/11 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python