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 相关文章推荐
namespace.js Javascript的命名空间库
Oct 11 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
Oct 30 Javascript
JavaScript中window.showModalDialog()用法详解
Dec 18 Javascript
jQuery中bind()方法用法实例
Jan 19 Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 Javascript
跟我学习javascript的Date对象
Nov 19 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
基于模板引擎Jade的应用(详解)
Dec 12 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
pm2启动ssr失败的解决方法
Jun 29 Javascript
使用JS实现动态时钟
Mar 12 Javascript
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
微信小程序动态添加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 mvc开发模式的感想
2011/06/28 PHP
php实现上传图片文件代码
2015/07/19 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
jquery删除table当前行的实例代码
2016/10/07 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
Python selenium文件上传方法汇总
2020/11/19 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
Python使用OpenCV进行标定
2018/05/08 Python
Python解析多帧dicom数据详解
2020/01/13 Python
python实现滑雪游戏
2020/02/22 Python
python实现门限回归方式
2020/02/29 Python
详解Python3中的 input() 函数
2020/03/18 Python
python interpolate插值实例
2020/07/06 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
英语专业学生个人求职信
2014/01/28 职场文书
幼儿园庆六一游园活动方案
2014/01/29 职场文书
三峡人家导游词
2015/01/31 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python