GVKun编程网logo

JS平滑无缝滚动效果的实现代码(js平滑无缝滚动效果的实现代码是什么)

13

在这篇文章中,我们将带领您了解JS平滑无缝滚动效果的实现代码的全貌,包括js平滑无缝滚动效果的实现代码是什么的相关情况。同时,我们还将为您介绍有关CSS和jQuery分别实现图片无缝滚动效果、CSS实

在这篇文章中,我们将带领您了解JS平滑无缝滚动效果的实现代码的全貌,包括js平滑无缝滚动效果的实现代码是什么的相关情况。同时,我们还将为您介绍有关CSS 和 jQuery 分别实现图片无缝滚动效果、CSS实现无缝滚动效果的技巧和方法、JavaScript实现图片无缝滚动效果、javascript实现多张图片左右无缝滚动效果的示例代码的知识,以帮助您更好地理解这个主题。

本文目录一览:

JS平滑无缝滚动效果的实现代码(js平滑无缝滚动效果的实现代码是什么)

JS平滑无缝滚动效果的实现代码(js平滑无缝滚动效果的实现代码是什么)

本文我们实现纯JS方式的滚动广告效果。

clip_image001

先show一下成品:

首先是网页样式:

rush:css;"> #demo {

background: #FFF;

overflow:hidden;

border: 1px dashed #CCC;

width: 1280px;

height:200px;

}

demo img {

border: 3px solid #F2F2F2;

}

indemo {

float: left;

width: 800%;

}

demo1 {

float: left;

}

demo2 {

float: left;

}

布局如下:

rush:xhtml;">
<div id="indemo">

<div id="demo1">

<a href="#">

<a href="#">

<div id="demo2">

CSS 和 jQuery 分别实现图片无缝滚动效果

CSS 和 jQuery 分别实现图片无缝滚动效果

一、效果图

二、使用 CSS 实现

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>图片无缝滚动</title>
        <style type="text/css">
            *{
                margin: 0px;
                padding: 0px;
            }
            
            #con{
                width: 800px;
                margin: auto;
                margin-top: 100px;
                /* 超出div的部分隐藏 */
                overflow: hidden;
                height: 158px;
            }
            
            li{
                list-style: none;
                float: left;
                
            }
            
            img{
                width: 240px;
                height: 150px;
                margin: 5px;
                border-radius: 5px;
            }
            
            ul{
                width: 2500px;
            }
            
            /* 动画播放状态 */
            ul:hover{
                cursor: pointer;
                /* 当鼠标移动到图片上时动画停止 */
                animation-play-state:paused;
            }
            
            
            /* 实现动画 */
            #ul{
                /* 动画名称 ,在定义关键帧动画时需要使用*/
                animation-name: moveleft;
                
                /* 动画持续时间 */
                animation-duration: 10s;
                
                /* 设置动画速度曲线:线性 */
                animation-timing-function: linear;
                
                /* 动画的播放次数:无限次 */
                animation-iteration-count: infinite;
                
                /* 动画的奇偶轮流播放:奇数次正向播放,偶数次反向播放 */
                /* animation-direction: alternate; */
                
            }
            
            /* 定义关键帧动画 */
            @keyframes moveleft{
                /* ul从左边0位置到左边-1250px位置 */
                from{
                    margin-left: 0px;
                }
                to{
                    margin-left: -1250px;
                }
            }
            
        </style>
    </head>
    <body>
        <div id="con">
            <ul id="ul">
                <li><img src="../img/21.jpg" ></li>
                <li><img src="../img/22.jpg" ></li>
                <li><img src="../img/23.jpg" ></li>
                <li><img src="../img/24.jpg" ></li>
                <li><img src="../img/25.jpg" ></li>
                
                <li><img src="../img/21.jpg" ></li>
                <li><img src="../img/22.jpg" ></li>
                <li><img src="../img/23.jpg" ></li>
                <li><img src="../img/24.jpg" ></li>
                <li><img src="../img/25.jpg" ></li>
            </ul>
        </div>
    </body>
</html>

 

三、使用 jQuery 实现

HTML 和 css 代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>图片无缝滚动</title>
        <script src="../js/jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script>
        <script src="../js/图片无缝滚动.js" type="text/javascript" charset="utf-8"></script>
        <style type="text/css">
            *{
                margin: 0px;
                padding: 0px;
            }
            #con{
                width: 800px;
                margin: auto;
                margin-top: 100px;
                overflow: hidden;
                height: 158px;
            }
            li{
                list-style: none;
                float: left;
                
            }
            img{
                width: 240px;
                height: 150px;
                margin: 5px;
                border-radius: 5px;
            }
            ul{
                width: 2500px;
                cursor: pointer;
            }
            
        </style>
    </head>
    <body>
        <div id="con">
            <ul id="ul">
                <li><img src="../img/21.jpg" ></li>
                <li><img src="../img/22.jpg" ></li>
                <li><img src="../img/23.jpg" ></li>
                <li><img src="../img/24.jpg" ></li>
                <li><img src="../img/25.jpg" ></li>
                <li><img src="../img/10.jpg" ></li>
                
                <li><img src="../img/21.jpg" ></li>
                <li><img src="../img/22.jpg" ></li>
                <li><img src="../img/23.jpg" ></li>
                <li><img src="../img/24.jpg" ></li>
                <!-- <li><img src="../img/25.jpg" ></li> -->
            </ul>
        </div>
    </body>
</html>

 

js 代码:

var move;
var lv = 0;
$(function() {
    
    //第一种方法
    //move = setInterval("moveLeft()", 5);
    
    //第二种方法
    move();
    
});

//方法一
function moveLeft() {
    var ul = $("ul");
    var li = $("li");
    lv += 1;
    //获取ul的左边距
    if (lv > 1500) {
        lv = 0;
    }
    $("ul").css("margin-left", -lv + "px");
    
    ul.mouseover(function(){
        $("ul").css({"animationPlayState":"paused"});
    })
    
}

//方法二
function move(){
    
    //鼠标移入移出事件
    $("ul").mouseover(function(){
        $(this).stop(true);
    });
    
    $("ul").mouseout(function(){
        move();
    });
    
    //获取ul绑定动画往左移动
    $("ul").animate({marginLeft:-1500},3000);
    $("ul").animate({marginLeft:0},0,move);
        
}

 

 

 

 

 

 

 

 

CSS实现无缝滚动效果的技巧和方法

CSS实现无缝滚动效果的技巧和方法

css实现无缝滚动效果的技巧和方法

CSS实现无缝滚动效果的技巧和方法,需要具体代码示例

随着互联网技术的发展,无缝滚动效果在网页设计中被广泛应用。它可以给用户带来更好的浏览体验,也能增加网页的动感和视觉效果。在本文中,我将介绍几种常用的CSS实现无缝滚动效果的技巧和方法,并提供具体的代码示例。

  1. 使用CSS动画实现无缝滚动效果

CSS动画是实现无缝滚动效果的一种简单且高效的方法。我们可以使用@keyframes规则定义一组关键帧,然后通过animation属性将动画应用到元素上。下面是一个使用CSS动画实现水平无缝滚动效果的示例:

HTML代码:

立即学习“前端免费学习笔记(深入)”;

<div>
  <div>
    <!-- 内容 -->
  </div>
</div>
登录后复制
登录后复制

CSS代码:

.scroll-container {
  width: 300px;
  overflow: hidden;
}

.scroll-content {
  display: inline-block;
  white-space: nowrap;
  animation: scroll 10s infinite linear;
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
登录后复制

这段代码中,我们将.scroll-container元素设置为固定宽度,并隐藏溢出的内容。然后,将.scroll-content元素设置为display: inline-block,使其成为一个横向排列的容器。接下来,通过animation属性将scroll动画应用到.scroll-content元素上。动画的持续时间为10秒,无限循环播放,速度为线性。

  1. 使用CSS过渡实现无缝滚动效果

除了使用CSS动画,我们还可以使用CSS过渡来实现无缝滚动效果。通过过渡,我们可以在用户进行滚动操作时平滑地改变元素的位置。下面是一个使用CSS过渡实现垂直无缝滚动效果的示例:

HTML代码:

立即学习“前端免费学习笔记(深入)”;

<div>
  <div>
    <!-- 内容 -->
  </div>
</div>
登录后复制
登录后复制

CSS代码:

.scroll-container {
  height: 300px;
  overflow: hidden;
}

.scroll-content {
  transition: transform 1s;
}

.scroll-container:hover .scroll-content {
  transform: translateY(-100%);
}
登录后复制

在这段代码中,我们将.scroll-container元素设置为固定高度,并隐藏溢出的内容。然后,将.scroll-content元素设置为transition属性的目标属性为tranform,过渡的持续时间为1秒。当鼠标悬浮在.scroll-container元素上时,通过为.scroll-content元素添加transform: translateY(-100%)样式,使其向上滚动一个容器高度的距离。

  1. 使用CSS实现循环滚动效果

如果你想实现一个可以循环滚动的效果,即内容从底部滚动到顶部后重新开始滚动,你可以使用CSS的@keyframes规则结合animation-delay属性来实现。下面是一个使用CSS实现循环滚动效果的示例:

HTML代码:

立即学习“前端免费学习笔记(深入)”;

<div>
  <ul>
    <li>内容1</li>
    <li>内容2</li>
    <li>内容3</li>
  </ul>
</div>
登录后复制

CSS代码:

.scroll-container {
  height: 300px;
  overflow: hidden;
}

.scroll-content {
  animation: scroll 5s infinite linear;
}

.scroll-content li {
  height: 100px;
}

@keyframes scroll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-300px);
  }
}
登录后复制

在这段代码中,我们将.scroll-container元素设置为固定高度,并隐藏溢出的内容。然后,将.scroll-content元素设置为animation属性的目标元素,动画的持续时间为5秒,无限循环播放,速度为线性。每个li元素的高度应与容器的高度相等,这样才能让内容垂直滚动。

在使用以上的方法和技巧时,你可以根据具体的需求和效果来调整代码。通过灵活使用CSS动画、过渡和关键帧,我们可以轻松实现各种各样的无缝滚动效果。希望以上的示例能够对你有所帮助。

以上就是CSS实现无缝滚动效果的技巧和方法的详细内容,更多请关注php中文网其它相关文章!

JavaScript实现图片无缝滚动效果

JavaScript实现图片无缝滚动效果

图片无缝滚动就是图片一直不停的滚动,好像没有无穷无尽似的,实际上就是几张图片不停的循环,但是看不出有从最后面切换到最前面的效果,这就是无缝滚动,文字和图片都可以无缝滚动,这里介绍的是图片,文字是同样的原理。

原理

以向上无缝滚动为例,其余几个方向的无缝滚动原理是一样的,

设定一个可视区域,超过可视区域的部分隐藏,这里是将nav部分作为可视区域,ul#img是中包含所有的图片,实现无缝滚动的关键地方在这:

这里的nav.scrollTop是指当前的可视对象nav的顶端与正在显示的对象ul#img的顶端的距离,通俗一点来说,就是滚动条向下滚动的距离;list[i]就是要显示的图片列表,list[list.length-1]是指最后一张图片,list[list.length-1].offsetTop是指最后一张图片的顶部到它的父元素的顶部的距离,这个距离是不变固定的,父元素的position必须不能是static(默认的),而且也不能是div,否则会跳过这个元素把上一级当成父元素。

可以发现这里重叠了一张图片,是因为当最后一张图片滚动完之后要形成循环,可视区域内一定要有图片否则一片空白,这里设定的可视区域就是一张图片的高度,故重复的是图片1,如果比一张图片高度要大,则需按顺序多重复几张图片列表的图片。

html部分

四个方向:向上、向下、向左、向右的无缝滚动的html部分是一样的,就表现的部分是一样的,即

无缝滚动

总结

以上是小编为你收集整理的JavaScript实现图片无缝滚动效果全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

js无缝滚动

javascript实现多张图片左右无缝滚动效果的示例代码

javascript实现多张图片左右无缝滚动效果的示例代码

本文主要介绍了javascript实现多张图片左右无缝滚动效果的实例。具有很好的参考价值。下面跟着小编一起来看下吧

结构:box包含ul,ul包含4个li;ul绝对定位。

复制li-1、li-2到第li-4后面,为了区分于li-1、li-2,内容改为li-5、li-6,颜色不变。此时ul包含6个li。

需要注意的是,移动的是ul这个大盒子而不是li。

原理:当ul 绝对定位的left 值等于(li-1+li-2+li-3+li-4)的宽度时,利用Javascript快速复原left 值为0 。

立即学习“Java免费学习笔记(深入)”;

此时请注意盒子里面数字和颜色的变化!

效果图:

javascript实现多张图片左右无缝滚动效果的示例代码

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style media="screen">
  *{
   padding: 0;
   margin: 0;
  }
  ul,li {
   list-style: none;
  }
  img {
   vertical-align: top;
  }
  #box{
   width: 400px;
   height: 100px;
   margin: 100px auto;
   background-color: pink;
   position: relative;
   overflow: hidden;
  }
  #box ul {
   width: 2000px;
   position: absolute;
   left: 0;
   top: 0;
  }
  #box li {
   float: left;
  }
  .aa {
   width: 200px;
   height: 100px;
  }
  .li-1{
   background-color: #f6e659;
  }
  .li-2{
   background-color: #57fa4f;
  }
  .li-3{
   background-color: #3a8ef1;
  }
  .li-4{
   background-color: #c057f1;
  }
 </style>
</head>
<body>
 <p id="box">
  <ul>
   <li>li-1</li>
   <li>li-2</li>
   <li>li-3</li>
   <li>li-4</li>
   <li>li-5</li>
   <li>li-6</li>
  </ul>
 </p>
</body>
</html>
<script type="text/javascript">
 var box = document.getElementById("box");
 var ul = box.children[0];
 var num = 0;
 timer = setInterval(fn,10);
 function fn() {
  num--;
  num <= -800 ? num = 0 : num;
  ul.style.left = num + "px";
 }
</script>
登录后复制

以上就是javascript实现多张图片左右无缝滚动效果的示例代码的详细内容,更多请关注php中文网其它相关文章!

关于JS平滑无缝滚动效果的实现代码js平滑无缝滚动效果的实现代码是什么的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于CSS 和 jQuery 分别实现图片无缝滚动效果、CSS实现无缝滚动效果的技巧和方法、JavaScript实现图片无缝滚动效果、javascript实现多张图片左右无缝滚动效果的示例代码的相关知识,请在本站寻找。

本文标签:

上一篇JavaScript的Backbone.js框架入门学习指引(js back)

下一篇ichart.js绘制虚线、平均分虚线效果的实现代码(js画虚线)