js动画之无缝滚动

效果图如下:

HTML代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>无缝滚动</title>
	<style type="text/css">
		body,ul{
			margin:0;
			padding:0;
		}

		.list_con{

			width:1000px;
			height:200px;
			border:1px solid #000;
			margin:10px auto 0;
			background-color:#f0f0f0;
			position:relative;
			overflow:hidden;
		}

		.list_con ul{
			list-style:none;
			width:2000px;
			height:200px;
			position:absolute;
			left:0;
			top:0;
		}

		.list_con li{
			width:180px;
			height:180px;
			float:left;
			margin:10px;
		}

		.btns_con{
			width:1000px;
			height:30px;
			margin:50px auto 0;
			position:relative;
		}

		.left,.right{
			width:30px;
			height:30px;
			background-color:gold;
			position:absolute;
			left:-40px;
			top:124px;
			font-size:30px;
			line-height:30px;
			color:#000;
			font-family: ‘Arial‘;
			text-align:center;
			cursor:pointer;
			border-radius:15px;
			opacity:0.5;
		}
		.right{
			left:1010px;
			top:124px;
		}
	</style>
	<script src="js/move.js"></script>
</head>
<body>
	<div class="btns_con">
		<div class="left" id="btn01"><</div>
		<div class="right" id="btn02">></div>
	</div>
	<div class="list_con" id="slide">
		<ul id="list">
		<li><a href=""><img src="images/goods001.jpg" alt="商品图片"></a></li>
		<li><a href=""><img src="images/goods002.jpg" alt="商品图片"></a></li>
		<li><a href=""><img src="images/goods003.jpg" alt="商品图片"></a></li>
		<li><a href=""><img src="images/goods004.jpg" alt="商品图片"></a></li>
		<li><a href=""><img src="images/goods005.jpg" alt="商品图片"></a></li>
		</ul>

	</div>
</body>
</html>

JS代码如下:

window.onload = function(){
    // alert(1)
    // 1、自动播放-- 左侧 多次循环 left减小
    var oList = this.document.getElementById(‘list‘)
    var oBtn01 = document.getElementById(‘btn01‘)
    var oBtn02 = document.getElementById(‘btn02‘)
    var oSlide = document.getElementById(‘slide‘)
    var num = 0  // left取值
    var speed = -5
    var oTimer = null
    // 程序复制两份产品
    oList.innerHTML += oList.innerHTML
    // oList.innerHTML = oList.innerHTML + oList.innerHTML

    oTimer = setInterval(fnMove, 50)
    function fnMove(){
        num += speed
        // 如果left小于-1000,回到left为0继续左侧移动
        if(num < -1000)
        {
            num = 0
        }
        if(num>0)
        {
            num = -1000
        }
        oList.style.left = num +‘px‘
    }

    // 2、左右箭头单击,右 -- 右侧移动  左 -- 左侧移动
    oBtn02.onclick = function(){
        speed = 5
    }
    oBtn01.onclick = function(){
        speed = -5
    }

    // 3、鼠标滑过停止播放  - 鼠标离开继续播放
    oSlide.onmouseover = function(){
        // 停止定时器
        clearInterval(oTimer)
    }
    oSlide.onmouseout = function(){
        // 开启定时器
        oTimer = setInterval(fnMove, 50)
    }
}

  

原文地址:https://www.cnblogs.com/wf-skylark/p/9157262.html

时间: 2024-10-12 16:11:32

js动画之无缝滚动的相关文章

js实现图片无缝滚动

html部分,css样式自己脑补一下画面吧,效果如下,无缝滚动 <div class="box" id="box"> <ul> <li><img src="images/01.jpg" alt=""></li> <li><img src="images/02.jpg" alt=""></li>

js文字的无缝滚动(上下)

使用scrolltop值的递增配合setInterval与setTimeout实现相关效果,左右无缝滚动使用scrollLeft即可 Dom内容 <div id="container"> <ul id="con1"> <li>javascript1</li> <li>javascript2</li> <li>javascript3</li> <li>javas

【JS学习】无缝滚动

一.无缝滚动--基础 效果演示 物体运动基础 让Div移动起来 offsetLeft的作用,可以想到有offsetLeft就会有offsetRight,还会有offsetWight/offsetHeight 用定时器让物体连续移动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&q

JS 在 HTML 无缝滚动

marquee图片无缝滚动先了解一下对象的几个的属性:innerHTML: 设置或获取位于对象起始和结束标签内的 HTMLscrollHeight: 获取对象的滚动高度.scrollLeft: 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop: 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离scrollWidth: 获取对象的滚动宽度offsetHeight: 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度offsetL

js实现表格无缝滚动效果

<!doctype html> <html> <head> <meta charset="utf-8"> <title>table表格无缝向上滚动</title> <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style> .tablebox { heigh

JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。

一:html部分 <body> <input id="btn1" type="button" value="向左"> <input id="btn2" type="button" value="向右"> <div id="div1">/*外框,显示区域*/ <ul id="ul1">/*循

JS—萌宠(无缝滚动)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

左右半透明的无缝滚动

列表左右的无缝滚动在网页中是一个很常见的效果了.但是为了给使用者一个更好的体验感受,我们会需要做到如下效果: 就是左右两边会有种半透明的效果.今天我们就来说一下如何实现它. 1.写静态页面,大致的页面布局如下: <!--奖励列表--> <section class="award-list" id="awardSection"> <ul class="award-content clearfix" id="a

JS 实现无缝滚动动画原理(初学者入)

这段时间在教培训班的学生使用原生javascript实现无缝滚动的动画案例,做了这个原理演示的动画,分享给自学JS的朋友!博主希望对你们有帮助! 在讲解之前先看一下demo: demo:https://224137748.github.io/JS_warehouse/lunbo/domo.HTML源码:https://github.com/224137748/JS_warehouse/blob/master/lunbo/domo.HTML ps: 上面和下面的滚动进度是一致的,上面红色框是为了演