javascript实现图片无缝滚动左右

一个能“动”的网站浏览起来看着就美观大气。今天我就实现四张图片的无缝滚动,鼠标进入滚动停止,点击图片显示提示信息。

javascript实现图片无缝滚动

工具/原料

  • 电脑一台

方法/步骤

  1. 设置图片的样式:

     img

    {    

    height: 100px;

    width: 100px;      

    }

    设置图片显示区域div1:

    #div1 {          

    height: 100px;           

    width: 400px;           

    background-color: red;           

    position: relative;           

    top: 50px;           

    left: 0px;           

    margin: 0 auto;           

    overflow: hidden;           

    /*// width:500px;*/        }

    用ul标签组织图片:

     #div1 ul {               

    position: absolute;               

    left: 0px;               

    top: 0px;            }         

    #div1 ul li {           

    height: 100px;           

    width: 100px;           

    list-style: none;           

    float: left;          }

    具体样式表如下:

    javascript实现图片无缝滚动

  2. 页面代码设计:

    设计文本域显示图片偏移量,<div id="Label1"></div>

    两个<a>标签控制左右移动,<a href="javascrip:;" id="l1">左</a> &nbsp;&nbsp;&nbsp;&nbsp;<a href="javascrip:;" id="r1">右</a>

    javascript实现图片无缝滚动

    javascript实现图片无缝滚动

  3.  

    准备工作完成,现在就来设计JavaScript:

    创建对象,

    var oDiv = document.getElementById("div1") ;    

    var oUl = oDiv.getElementsByTagName("ul")[0];

     var lb1 = document.getElementById("Label1");

     var oLi = oUl.getElementsByTagName("li");

    定义两个图片区域(如果注释掉下面的代码效果图如下)

    oUl.innerHTML = oUl.innerHTML + oUl.innerHTML;//相当于复制了一次所有图片

     

    javascript实现图片无缝滚动

  4.  

    让ul移动函数:

    function move() {         

    if (oUl.offsetLeft < -oUl.offsetWidth / 2)     

           oUl.style.left = "0px";

     if (oUl.offsetLeft > 0)  

            oUl.style.left = -oUl.offsetWidth / 2 + "px";

          oUl.style.left = oUl.offsetLeft + speed + "px";   

        lb1.innerText = oUl.offsetLeft;     };

     

    javascript实现图片无缝滚动

  5.  

    鼠标进入停止滚动,鼠标移开开始滚动:

     oDiv.onmouseover = function ()

    {             

      clearInterval(time1);         

      };         

      oDiv.onmouseout = function () {         

          time1 = setInterval(move, 30);      

         };

     

    javascript实现图片无缝滚动

  6.  

    设计移动速度speed=2,设置30毫秒移动一次

    var time1 = setInterval(move, 30);

    所有代码如下:

     

    javascript实现图片无缝滚动

  7. 现在就来看看效果吧,鼠标进入左边则图片左移动,鼠标进入右则图片右移动。并且显示了偏移量

    javascript实现图片无缝滚动

  8. 不同时间点的图片,显示效果。现在动画效果就完成了哦。有兴趣的朋友可以试着做做

    javascript实现图片无缝滚动

来源:https://jingyan.baidu.com/article/b7001fe1a7e7c60e7382dd71.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现图片无缝滚动并且可以手动滑动,可以使用CSS的动画和滚动条属性。以下是一个简单的实现示例: HTML代码: ```html <div class="scroll-container"> <div class="scroll-content"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> <img src="image4.jpg" alt="Image 4"> </div> </div> ``` CSS代码: ```css .scroll-container { width: 100%; overflow-x: scroll; -webkit-overflow-scrolling: touch; /* 支持在移动设备上使用手指滑动 */ } .scroll-content { display: flex; width: max-content; animation: scroll 20s linear infinite; } .scroll-content img { width: 100%; height: auto; object-fit: cover; flex-shrink: 0; } @keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } } ``` 这段代码中,我们首先创建一个父容器 `.scroll-container`,并设置其 `overflow-x` 属性为 `scroll`,以便在容器中显示水平滚动条。我们还使用 `-webkit-overflow-scrolling: touch` 属性来支持在移动设备上使用手指滑动。 然后,我们创建一个子容器 `.scroll-content`,并使用 `display: flex` 属性将其内部的图片排成一行。我们为 `.scroll-content` 容器添加了一个动画 `scroll`,持续时间为20秒,并设置它为无限循环播放。 最后,我们使用 `@keyframes` 规则来定义动画的滚动效果。在 `0%` 时,图片处于容器的最左侧;在 `100%` 时,图片向左移动容器的宽度,并形成无缝滚动的效果。 需要注意的是,以上代码中的滚动效果是自动播放的,如果需要手动滑动,则需要添加一些JavaScript代码来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值