iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript基于定时器实现图片无缝滚动功能的方法
  • 576
分享到

JavaScript基于定时器实现图片无缝滚动功能的方法

2024-04-02 19:04:59 576人浏览 八月长安
摘要

这篇文章主要介绍了javascript基于定时器实现图片无缝滚动功能的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:一、无缝滚

这篇文章主要介绍了javascript基于定时器实现图片无缝滚动功能的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体如下:

一、无缝滚动理论基础

基础知识

1.setInterval(function,time)、clearInterval(timer)

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

clearInterval() 方法可取消由 setInterval() 设置的 timeout。
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。

2.offsetLeft与style.left的区别

offsetLeft 获取的是相对于父对象的左边距

left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距

如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值,

这同offsetLeft是相同的,区别在于:

1. style.left 返回的是字符串,如28px,offsetLeft返回的是数值28,如果需要对取得的值进行计算,还用offsetLeft比较方便。
2. style.left是读写的,offsetLeft是只读的,所以要改变div的位置,只能修改style.left。
3. style.left的值需要事先定义,否则取到的值为空。而且必须要定义在html里,我做过试验,如果定义在CSS里,style.left的值仍然 为空,这就是我刚开始碰到的问题,总是取不到style.left的值。

offsetLeft则仍然能够取到,无需事先定义div的位置。

二、代码片段

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>无缝滚动</title>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    #div2{
      width: 400px;
      margin: 100px auto;
    }
    input{
      margin:0 auto;
      text-align: center;
      margin-left: 80px;
      font-size: 40px;
    }
    #div1{
      width: 712px;
      height: 108px;
      margin: 100px auto;
      position: relative;
      background-color: red;
      overflow: hidden;
    }
    #div1 ul{
      position: absolute;
      left: 0;
      top: 0;
    }
    #div1 ul li{
      float: left;
      width: 178px;
      height: 108px;
      list-style:none;
    }
  </style>
  <script>
    window.onload=function(){
      var oDiv=document.getElementById('div1');
      var oUl=document.getElementsByTagName('ul')[0];
      var aLi=oUl.getElementsByTagName('li');
      var lBtn=document.getElementById('lbtn');
      var rBtn=document.getElementById('rbtn');
      //将ul复制一份相加复制给ul(这样ul相当于有8张图片)
      oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
      oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';
      //speed控制图片移动方向和速度
      var speed=2;
      function move(){
        if(oUl.offsetLeft<-oUl.offsetWidth/2){
          oUl.style.left=0;
        }
        if(oUl.offsetLeft>0)
        {
          oUl.style.left=-oUl.offsetWidth/2+'px';
        }
        oUl.style.left=oUl.offsetLeft+speed+'px';
      }
      var timer=setInterval(move,30);
      // 鼠标移进时,图片停止运动
      oDiv.onmouseover=function(){
        clearInterval(timer);
      };
      //鼠标移出时,图片继续移动
      oDiv.onmouseout=function(){
      timer=setInterval(move,30);
      }
      //按钮控制移动方向
      lBtn.onclick= function () {
        speed=-2;
      }
      rBtn.onclick=function(){
        speed=2;
      }
    };
  </script>
</head>
<body>
<div id="div2" >
  <input type="button" value="向左" id="lbtn"/>
  <input type="button" value="向右" id="rbtn"/>
</div>
  <div id="div1">
    <ul>
      <li><img src="images/1.jpg" /></li>
      <li><img src="images/2.jpg" /></li>
      <li><img src="images/3.jpg" /></li>
      <li><img src="images/4.jpg" /></li>
    </ul>
  </div>
</body>
</html>

三、效果图

 JavaScript基于定时器实现图片无缝滚动功能的方法

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript基于定时器实现图片无缝滚动功能的方法”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网JavaScript频道,更多相关知识等着你来学习!

--结束END--

本文标题: JavaScript基于定时器实现图片无缝滚动功能的方法

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript基于定时器实现图片无缝滚动功能的方法
    这篇文章主要介绍了JavaScript基于定时器实现图片无缝滚动功能的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:一、无缝滚...
    99+
    2024-04-02
  • JavaScript定时器实现无缝滚动图片
    本文实例为大家分享了JavaScript实现无缝滚动图片的具体代码,供大家参考,具体内容如下 文本: setInterval 开启间隔型定时器 clearTime...
    99+
    2024-04-02
  • 基于JavaScript实现图片裁剪功能
    目录一、图片文件的上传和读取二、图片展示和蒙层处理CSS clip-path三、裁剪框展示裁剪框的缩放点cursor 鼠标样式四、裁剪框移动事件五、裁剪框缩放操作六、完成裁剪功能dr...
    99+
    2023-02-21
    JavaScript实现图片裁剪JavaScript图片裁剪 JavaScript图片
  • 基于JavaScript如何实现图片裁剪功能
    本篇内容介绍了“基于JavaScript如何实现图片裁剪功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、图片文件的上传和读取使用文件上...
    99+
    2023-07-05
  • JavaScript中怎么实现页面滚动图片加载功能
    JavaScript中怎么实现页面滚动图片加载功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。原理:1.给页面绑定滚动事件;...
    99+
    2024-04-02
  • 怎么用javascript实现定时改变图片功能
    这篇文章主要介绍了怎么用javascript实现定时改变图片功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用javascript实现定时改变图片功能文章都会有所收获,下面我们一起来看看吧。一、JavaS...
    99+
    2023-07-06
  • CSS实现无缝滚动效果的技巧和方法
    CSS实现无缝滚动效果的技巧和方法,需要具体代码示例随着互联网技术的发展,无缝滚动效果在网页设计中被广泛应用。它可以给用户带来更好的浏览体验,也能增加网页的动感和视觉效果。在本文中,我将介绍几种常用的CSS实现无缝滚动效果的技巧和方法,并提...
    99+
    2023-10-25
    CSS 无缝滚动 技巧
  • Android开发之图片旋转功能实现方法【基于Matrix】
    本文实例讲述了Android开发之图片旋转功能实现方法。分享给大家供大家参考,具体如下:在Android中进行图像旋转需要使用Matrix,它包含了一个3*3的矩阵,专门用于进行图像变换匹配。Matrix ,中文里叫矩阵,高等数学里有介绍,...
    99+
    2023-05-30
    android 图片 旋转
  • Android自定义图片地图坐标功能的实现方法
    本篇内容主要讲解“Android自定义图片地图坐标功能的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android自定义图片地图坐标功能的实现方法”吧!一、前言最近项目要求实现一个在自...
    99+
    2023-06-20
  • 基于Hutool的图片验证码功能模块实现
    目录简介Hutool名称的由来基于Hutool的图片验证码功能模块实现1.背景2.方案设计2.1 方案步骤2.2 Hutool工具类引入2.5 方案交互图3.模块编写4.接口测试简介...
    99+
    2022-11-13
    Hutool图片验证码 Hutool图片验证码
  • 基于Vue如何实现移动端图片裁剪组件功能
    小编给大家分享一下基于Vue如何实现移动端图片裁剪组件功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!最近项目上要做一个车牌识别的功能。本来以为很简单,只需要将图片扔给后台就可以了,但是...
    99+
    2024-04-02
  • 基于JS如何实现二维码图片固定在右下角某处并跟随滚动条滚动
    这篇文章将为大家详细讲解有关基于JS如何实现二维码图片固定在右下角某处并跟随滚动条滚动,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、准备一张二维码图片,大小、图片自己...
    99+
    2024-04-02
  • 如何通过纯CSS实现无缝滚动新闻的方法和技巧
    随着Web技术的不断发展,如何通过CSS实现一些炫酷的效果成为了前端开发者们的追求。本文将介绍如何通过纯CSS实现无缝滚动新闻的方法和技巧,并提供具体的代码示例。一、实现思路无缝滚动新闻效果的实现思路一般有两种:使用CSS动画和使用CSS3...
    99+
    2023-10-21
    CSS 无缝滚动 新闻编程
  • Node+UDP实现图片裁剪功能的方法
    这篇文章将为大家详细讲解有关Node+UDP实现图片裁剪功能的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。UDP服务器可以用于一些特殊数据的(高效)传输,例如图片、视频和音频信息等我见过一些大佬用U...
    99+
    2023-06-08
  • 基于Python实现简易的动漫图片转换器
    本文旨在制作一个将普通照片转换成动漫图片的小工具,其中使用opencv的非标准库实现对图片完成转换。 UI界面的制作使用的还是pyqt5,因为用习惯了使用起来相当方便,接下来还是先...
    99+
    2024-04-02
  • html+css实现自定义图片上传按钮功能的方法
    小编给大家分享一下html+css实现自定义图片上传按钮功能的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!普通的input[type=&lsquo;...
    99+
    2023-06-09
  • .NET6实现基于JWT的Identity功能方法详解
    目录需求目标原理与思路实现引入Identity组件添加认证服务使用JWT认证和定义授权方式引入认证授权中间件添加JWT配置增加认证用户Model实现认证服务CreateToken方法...
    99+
    2024-04-02
  • 微信小程序如何实现基于Taro的分享图片功能
    小编给大家分享一下微信小程序如何实现基于Taro的分享图片功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Taro支持以React语言开发小程序,支持CSS预处理器,支持实时编译更新,支...
    99+
    2024-04-02
  • 基于Redis无序集合实现禁止多端登录功能的方法
    这篇文章给大家分享的是有关基于Redis无序集合实现禁止多端登录功能的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言一个集合类型可以存储最多2^32 -1 个字符串集合类...
    99+
    2024-04-02
  • css实现图片大于div时的居中显示的方法
    本文小编为大家详细介绍“css实现图片大于div时的居中显示的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“css实现图片大于div时的居中显示的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作