当前位置:首页 > JavaScript > 正文内容

JS特效-轮播图

flowstone9年前 (2016-09-17)JavaScript536

效果如下

轮播图

功能分析

  1. 每隔1秒换一张图片

  2. 鼠标移入停止切换、鼠标离开继续切换

  3. 鼠标移入到数字上面的时候,显示和数字对应的图片,并且停止切换,被选中的数字,背景显示橙色

  4. 鼠标离开数字,从该数字后面继续显示



代码如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="">
    <style type="text/css">
        div,
        img,
        ul,
        li {
            padding: 0px;
            margin: 0px;
        }
        .content {
            width: 480px;
            height: 300px;
            border: 1px solid red;
            margin: 100px auto;
        }
        img {
            width: 100%;
            height: 100%;
            padding-bottom: 10px;
        }
        ul li {
            list-style: none;
            float: left;
            border: 1px solid orange;
            height: 30px;
            width: 58px;
            text-align: center;
            line-height: 30px;
        }
    </style>
</head>
<body>
    <div class="content">
        <img src="./img/1.jpg" alt="">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
        </ul>
    </div>
    <script type="text/javascript">
        var oImg = document.getElementsByTagName('img')[0];
        var count = 1;
        function changePic(){
            count ++;
            if (count > 8) {
                count = 1;
            }
            oImg.src = 'img/'+count+ '.jpg';
        }
        var interID = setInterval(changePic, 1000);
        //鼠标移入停止播放
        oImg.onmouseover = function(){
            clearInterval(interID);

        }
        //鼠标移出继续播放
        oImg.onmouseout = function(){
                //console.log(interID);
                clearInterval(interID);
                interID = setInterval(changePic, 1000);

        }
        //鼠标移入到数字上的时候,显示对应的图片
        var oLi = document.getElementsByTagName('li');
        //console.log(oLi.length);
        for (var num = 0; num < oLi.length; num++) {
            //给每个li标签增加属性,保存当前的索引位置
            oLi[num].index = num;
            //移到到数字上,停止播放
            oLi[num].onmouseover = function(){
                //停止播放
                clearInterval(interID);
                this.style.background = 'orange';
                count = this.index;
                //调用循环播放图片方法
                changePic();
            }
            //移出时,继续从停止的地方播放
            oLi[num].onmouseout = function(){
                clearInterval(interID);
                interID = setInterval(changePic, 1000);
                this.style.background = 'white';
                count = this.index;
                changePic();
            }
        }
    </script>
</body>



扫描二维码推送至手机访问。

版权声明:本文由薛尧的博客发布,如需转载请注明出处。

本文链接:https://flowstone.sourceforge.io/?id=7

分享给朋友:
返回列表

没有更早的文章了...

下一篇:Ajax自定义日历

相关文章

React Ant框架中分页的快速使用

使用环境ReactAnt DesignSpringBootSpring Data JPA前端页面首先,我们要查看Ant官方文档,一般涉及到分页的页面都是列表查询,在表格组件中找到API,可以从API中看到使用方法,查看文档后,编写代码如下&...

React中useState如何给对象中的某一个属性赋值

问题描述在React文件中使用了useState,定义了查询条件,这个查询条件实际上是一个对象,如下所示const [requestParam, setRequestParam] = useState...

JS中绑定方法加括号和不加括号的区别

问题描述在React开发中,遇到一个页面不停调用接口问题,如下图所示 问题解决查找哪里调用了接口,最后在刷新按钮上找到了问题所在,如下所示<Button     type="...

React中如何实现文件上传功能

场景描述在前端页面中,经常会使用到文件上传功能,我们如何实现上传功能呢?开发环境React ^16.12.0Ant Design ^5.0.12SpringBoot 2.3.0页面实现文件上传首先我们要用到Ant框架中自带的上传组件Uplo...

React中如何实现文件下载功能

场景描述在前端页面中,经常会使用到文件下载功能,我们如何实现下载功能呢?开发环境React ^16.12.0Ant Design ^5.0.12SpringBoot 2.3.0问题分析首先,想到下载,肯定要涉及文件流(字节流),后端接口返回...

Ant Design中使用Upload上传组件如何自定义文件列表展示位置

软件环境macOS Big Sur 11.1React 16.12.0Ant Design 4.10.0实际效果现有一个需求,是上传文件,点击浏览文件按钮,选中文件后,在按钮的上方显示,上传的文件列表,如下图所示 当前效果目前使用...