iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JS如何实现时间轴自动播放
  • 174
分享到

JS如何实现时间轴自动播放

2023-06-20 21:06:10 174人浏览 八月长安
摘要

这篇文章主要为大家展示了“js如何实现时间轴自动播放”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现时间轴自动播放”这篇文章吧。最近实现了一个这样的效果,点击播放按钮,时间轴开始播放,

这篇文章主要为大家展示了“js如何实现时间轴自动播放”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现时间轴自动播放”这篇文章吧。

最近实现了一个这样的效果,点击播放按钮,时间轴开始播放,点击暂停,停止在当前位置,当再次点击播放的时候,从当前位置开始继续播放,也可以点击相应的年份,切换过去,这时候播放自动暂停,当再次点击播放的时候,从当前位置出发。

JS如何实现时间轴自动播放

<!DOCTYPE html><html> <head>  <meta charset="utf-8" />  <title></title>  <link rel="stylesheet" type="text/CSS" href="fonts/iconfont.css" />  <style scoped>   ul,   li,   html,   body {    margin: 0;    padding: 0;   }    #timeline {    list-style: none;    text-align: center;    background: url('img/xuanduan.png') 9px top repeat-y;   }    #timeline li {    background-image: url('img/tuoyuan1.png');    background-repeat: no-repeat;    background-position: 0 15px;    background-size: 20px 20px;    padding-left: 30px;    height: 50px;    line-height: 50px;    color: #444;    width: 70px;   }    #timeline li p {    width: 70px;    cursor: pointer;    margin: 0;   }    .biaoqian {    background: url('img/biaoqian.png') 2px 13px no-repeat;    ;    background-size: 60px 24px;    color: #fff;   }    #timeline .selecteded {    background: url('img/tuoyuan2.png') 0 15px no-repeat;    background-size: 20px 20px;   }    .scroll-shell {    width: 100px;    height: 96%;    margin-top: 1.5%;    margin-left: 20px;    float: left;    overflow: hidden;   }    .scroll {    width: 118px;    height: 103%;    overflow: auto;    overflow-x: hidden;   }  </style> </head> <body>  <div class="scroll-shell">   <ul  id="timeline" ref="timeline" @click="timeline($event)" class="scroll">    </ul>   <i class="iconfont icon-bofang" id="bofangzanting" ></i>  </div>  <script>   let years = [2016, 2017, 2018, 2019, 2020, 2021, 2022]   let index = 0   let timer=null   //创建时间轴对应的li   years.map(k => {    let createLi = document.createElement('li')    let createP = document.createElement('p')    createP.innerHTML = k    createLi.appendChild(createP)    timeline.appendChild(createLi)   })   //默认选中第一个   var lis = document.querySelectorAll('#timeline li')   lis[0].classList.add('selecteded')   var ps = document.querySelectorAll('#timeline li p')   ps[0].classList.add('biaoqian')    //点击事件,点击其中一个切换到相应的效果   var ulElement = document.querySelector('#timeline')   ulElement.onclick = function(e) {    var lis = document.querySelectorAll('#timeline li')    var ps = document.querySelectorAll('#timeline li p')    let event = e || window.event    let target = event.target || event.srcElement    if (target.tagName == 'P') {       classChange(ps, lis, target)     for (let i = 0; i < lis.length; i++) {      console.log(lis[i].getAttribute('class'))      if (lis[i].getAttribute('class') == 'selecteded') {       //记住此时被点击的索引,方便点击播放按钮时继续播放       index = i       console.log(index)       break;      }      }    }   }      //公共部分,清除掉所有的样式,再给点击的添加相应的类名   function classChange(ps, lis, target) {    ps.forEach(k => {     k.classList.remove('biaoqian')    })    target.classList.add('biaoqian')    lis.forEach(v => {     v.classList.remove('selecteded')    })    target.parentnode.classList.add('selecteded')   }    //播放和暂停按钮   let bofangzanting = document.getElementById('bofangzanting')   if (bofangzanting) {    bofangzanting.onclick = () => {     if (bofangzanting.className.indexOf('bofang') != -1) {      console.log('点击播放')      console.log(timer)      bofangzanting.classList.remove('icon-bofang')      bofangzanting.classList.add('icon-zanting')      if (timer == undefined) {       autoPlay()      }     } else {      console.log('点击暂停')      bofangzanting.classList.remove('icon-zanting')      bofangzanting.classList.add('icon-bofang')      if (timer) {       timer = clearInterval(timer)      } else {       return      }     }    }   }    //自动播放   function autoPlay() {    var lis = document.querySelectorAll('#timeline li')    var ps = document.querySelectorAll('#timeline li p')    timer = setInterval(() => {     console.log('自动播放啦!')     if (index < ps.length - 1) {       //执行下一个      classChange(ps, lis, ps[index + 1])      index++     } else {       //跳转到开始      index = 0                      classChange(ps, lis, ps[index])     }     console.log(index)    }, 1000)   }  </script> </body></html>

以上是“JS如何实现时间轴自动播放”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: JS如何实现时间轴自动播放

本文链接: https://www.lsjlt.com/news/300190.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS如何实现时间轴自动播放
    这篇文章主要为大家展示了“JS如何实现时间轴自动播放”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现时间轴自动播放”这篇文章吧。最近实现了一个这样的效果,点击播放按钮,时间轴开始播放,...
    99+
    2023-06-20
  • JS实现时间轴自动播放
    最近实现了一个这样的效果,点击播放按钮,时间轴开始播放,点击暂停,停止在当前位置,当再次点击播放的时候,从当前位置开始继续播放,也可以点击相应的年份,切换过去,这时候播放自动暂停,当...
    99+
    2024-04-02
  • VUE实现时间轴播放组件
    本文实例为大家分享了VUE实现时间轴播放组件的具体代码,供大家参考,具体内容如下 先上效果图吧 1、初始化的效果! 2、可以拖拽,鼠标放上显示时间 3、播放按钮后,正常播放 左右...
    99+
    2024-04-02
  • 如何利用JS实现时间轴动画效果
    目录css动画什么是时间轴动画?动画对象动画函数思考总结css动画 在前端开发中,一些简单的动效往往是使用 css3 的 @keyframes 来实现的 ,如: .div1 { ...
    99+
    2024-04-02
  • js如何实现列表自动滚动循环播放
    这篇文章主要介绍了js如何实现列表自动滚动循环播放的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js如何实现列表自动滚动循环播放文章都会有所收获,下面我们一起来看看吧。1.实现效果图鼠标移入,暂停滚动; 鼠标移...
    99+
    2023-07-02
  • JS实现图片自动播放效果
    本文实例为大家分享了JS实现图片自动播放效果的具体代码,供大家参考,具体内容如下 JS实现图片自动播放 1、先看效果图 2、完整代码 <!DOCTYPE html>...
    99+
    2024-04-02
  • js实现列表自动滚动循环播放
    本文实例为大家分享了js实现列表自动滚动循环播放的具体代码,供大家参考,具体内容如下 1.实现效果图 鼠标移入,暂停滚动; 鼠标移出,继续滚动; 2.原理 要实现无缝衔接,在原有u...
    99+
    2024-04-02
  • html5中如何实现video全屏播放/自动播放
    这篇文章主要介绍了html5中如何实现video全屏播放/自动播放,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。近期开始开发公司新版官网, 首页顶部(header)是一个全屏...
    99+
    2023-06-09
  • js怎么实现本地时间轴
    这篇文章主要介绍“js怎么实现本地时间轴”,在日常操作中,相信很多人在js怎么实现本地时间轴问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js怎么实现本地时间轴”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-27
  • js实现点击切换和自动播放的轮播图
    本文实例为大家分享了js实现点击切换和自动播放的轮播图,供大家参考,具体内容如下 轮播图案例 <!DOCTYPE html> <html lang="en">...
    99+
    2024-04-02
  • video如何实现有声音自动播放
    这篇文章将为大家详细讲解有关video如何实现有声音自动播放,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。video实现自动播放有声音代码如下:<!DOCTYPE html><...
    99+
    2023-06-09
  • CSS3如何实现时间轴特效
    小编给大家分享一下CSS3如何实现时间轴特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近打开电脑就能看到极客学院什么新用户vip免费一个月,就进去看看咯,这...
    99+
    2023-06-08
  • 如何使用Jquery实现时间轴
    这篇文章将为大家详细讲解有关如何使用Jquery实现时间轴,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、纵向折叠时间轴1、js文件(jQuery.js或者jQuery...
    99+
    2024-04-02
  • JavaScript如何实现图片自动播放功能
    今天小编给大家分享一下JavaScript如何实现图片自动播放功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、自动轮播...
    99+
    2023-07-06
  • android自定义控件如何实现简易时间轴
    这篇“android自定义控件如何实现简易时间轴”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“android自定义控件如何实现简易时间轴”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过...
    99+
    2023-06-28
  • JavaScript实现图片自动播放
    现如今,随着互联网技术的不断发展,网页设计成为了一项非常重要的行业。而图片作为一个非常重要的元素,经常被运用在页面设计中,用来美化页面、增强信息传递效果、吸引用户的注意力等。而在页面上呈现一些动态的元素,不仅能够充实页面的内容,还能够使用户...
    99+
    2023-05-16
  • Android自定义控件实现时间轴
    本文实例为大家分享了Android自定义控件实现时间轴的具体代码,供大家参考,具体内容如下 由于项目中有需求,就简单的封装一个,先记录一下,有时间上传到github。 1、先增加自定...
    99+
    2024-04-02
  • html怎么实现轮播图自动播放
    这篇文章主要介绍“html怎么实现轮播图自动播放”,在日常操作中,相信很多人在html怎么实现轮播图自动播放问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html怎么实现轮播...
    99+
    2024-04-02
  • html5中如何实现嵌入视频自动播放
    这篇文章主要介绍了html5中如何实现嵌入视频自动播放,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。各种查资料,找到一个方法,记录一下。核心是监听了canplaythroug...
    99+
    2023-06-09
  • jQuery如何实现照片墙自动播放特效
    这篇文章将为大家详细讲解有关jQuery如何实现照片墙自动播放特效,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一个动态展示图片的页面:功能:定时从后台取数据,进行页面图...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作