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 相关文章推荐
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
Jul 26 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
Jul 15 Javascript
JS中如何设置readOnly的值
Dec 25 Javascript
node.js中的fs.createReadStream方法使用说明
Dec 17 Javascript
javascript:void(0)点击登录没反应怎么解决
Nov 13 Javascript
分享几种比较简单实用的JavaScript tabel切换
Dec 31 Javascript
jQuery基于muipicker实现仿ios时间选择
Feb 22 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
vue.js使用watch监听路由变化的方法
Jul 08 Javascript
如何使用JavaScript实现栈与队列
Jun 24 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
Linux下PHP连接Oracle数据库
2014/08/20 PHP
javascript 单选框,多选框美化代码
2008/08/01 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
7个JS基础知识总结
2014/03/05 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
python实现单向链表详解
2018/02/08 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
心理健康心得体会
2014/01/02 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
求职意向书范文
2014/04/01 职场文书
高中学生期末评语
2014/04/25 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
三年级作文之趣事作文
2019/11/04 职场文书