在这篇文章中,我们将带领您了解JS平滑无缝滚动效果的实现代码的全貌,包括js平滑无缝滚动效果的实现代码是什么的相关情况。同时,我们还将为您介绍有关CSS和jQuery分别实现图片无缝滚动效果、CSS实
在这篇文章中,我们将带领您了解JS平滑无缝滚动效果的实现代码的全貌,包括js平滑无缝滚动效果的实现代码是什么的相关情况。同时,我们还将为您介绍有关CSS 和 jQuery 分别实现图片无缝滚动效果、CSS实现无缝滚动效果的技巧和方法、JavaScript实现图片无缝滚动效果、javascript实现多张图片左右无缝滚动效果的示例代码的知识,以帮助您更好地理解这个主题。
本文目录一览:- JS平滑无缝滚动效果的实现代码(js平滑无缝滚动效果的实现代码是什么)
- CSS 和 jQuery 分别实现图片无缝滚动效果
- CSS实现无缝滚动效果的技巧和方法
- JavaScript实现图片无缝滚动效果
- javascript实现多张图片左右无缝滚动效果的示例代码
JS平滑无缝滚动效果的实现代码(js平滑无缝滚动效果的实现代码是什么)
本文我们实现纯JS方式的滚动广告效果。
先show一下成品:
首先是网页样式:
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;
}
布局如下:
<div id="demo1">
<a href="#">
<a href="#">
<div id="demo2">
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动画是实现无缝滚动效果的一种简单且高效的方法。我们可以使用@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秒,无限循环播放,速度为线性。
- 使用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%)样式,使其向上滚动一个容器高度的距离。
- 使用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实现图片无缝滚动效果
图片无缝滚动就是图片一直不停的滚动,好像没有无穷无尽似的,实际上就是几张图片不停的循环,但是看不出有从最后面切换到最前面的效果,这就是无缝滚动,文字和图片都可以无缝滚动,这里介绍的是图片,文字是同样的原理。
原理
以向上无缝滚动为例,其余几个方向的无缝滚动原理是一样的,。
设定一个可视区域,超过可视区域的部分隐藏,这里是将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实现多张图片左右无缝滚动效果的示例代码
本文主要介绍了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免费学习笔记(深入)”;
此时请注意盒子里面数字和颜色的变化!
效果图:
示例代码:
<!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实现多张图片左右无缝滚动效果的示例代码的相关知识,请在本站寻找。
本文标签: