html图片左右无缝循环滚动示例

html图片左右无缝循环滚动示例首先,最外层的宽高要给个固定值,然后给个overflow:hidden;,放不下的图片隐藏。原理:(以左方向为例)先向左移动一个图片的宽度,此时第一个图片已经看不见了,这个时候将第一个标签元素克隆后追加到末尾,然后将第一个元素移除。达到循环滚动的效果。右移也是同理。下面是代码实现和demo<!DOCTYPEhtml><html><head><metacharse

大家好,又见面了,我是你们的朋友全栈君。

首先,最外层的宽高要给个固定值,然后给个overflow: hidden;,放不下的图片隐藏。
原理:(以左方向为例)先向左移动一个图片的宽度,此时第一个图片已经看不见了,这个时候将第一个标签元素克隆后追加到末尾,然后将第一个元素移除。达到循环滚动的效果。右移也是同理。下面是代码实现和demo

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<title></title>

		<script type="text/javascript" src="js/jquery.min.js"></script>
		<script type="text/javascript" src="js/center.js"></script>

	</head>

	<style type="text/css">
		.img_content {
			width: 600px;
			margin: 0;
			padding: 0;
			height: 200px;
			position: absolute;
			overflow: hidden;
		}
		
		.img_content ul {
			list-style: none;
			margin: 0;
			padding: 0;
			position: absolute;
			width: 1000px;
		}
		
		.img_content ul li {
			float: left;
			margin: 0;
			padding: 0;
		}
		
		.img_content ul li img {
			width: 200px;
			height: 200px;
		}
		
		button {
			width: 100px;
			height: 40px;
			border-radius: 5px;
			background: cornflowerblue;
			color: white;
			border: 0;
		}
	</style>

	<body>

		<div class="img_content">

			<ul>
				<li><img src="img/1.jpg" /> </li>
				<li><img src="img/2.jpg" /> </li>
				<li><img src="img/3.jpg" /> </li>
				<li><img src="img/4.jpg" /> </li>
				<li><img src="img/5.jpg" /> </li>
				<li><img src="img/6.jpg" /> </li>
				<li><img src="img/7.jpg" /> </li>
				<li><img src="img/8.jpg" /> </li>

			</ul>
		</div>

		<button id="left">左</button>
		<button id="right">右</button>
		<button id="auto">自动切换</button>
		<button id="stop">取消自动切换</button>

		<script>
			centerParent($('.img_content')[0]);

			$('#left').click(function() {
				scrollLeft();
			});

			$('#right').click(function() {
				scrollRight();
			});

			/*向左滑动*/
			function scrollLeft() {

				/*先向左移动一个图片的宽度  移动后在末尾追加第一个元素 然后将第一个元素移除 */
				$('ul').animate({
					left: -200
				}, 200, function() {
					$('ul').append($('ul li:first').clone());
					$('ul li:first').remove();
				});

				/*将left值置为0*/
				$('ul').animate({
					left: 0
				}, 0);
			}

			/*向右滑动*/
			function scrollRight() {
				/*先向右移动一个图片的宽度  移动后把最后一个元素插入到头部 然后移除最后一个元素*/
				$('ul').animate({
					left: -200
				}, 0, function() {
					$('ul').prepend($('ul li:last').clone());
					$('ul li:last').remove();
				});

				/*完成上面动作后将left置为0*/
				$('ul').animate({
					left: 0
				}, 200);
			}

			var auto;
			$('#auto').click(function() {
				auto = setInterval(scrollLeft, 2000);
			});

			$('#stop').click(function() {
				clearInterval(auto);
			});
		</script>

	</body>

</html>

demo

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161314.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 遗传算法经典实例_遗传算法优化BP神经网络

    遗传算法经典实例_遗传算法优化BP神经网络下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。      例:求下述二元函数的最大值: (1)个体编码          遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种      符号串。本题中,用无符号二进制整数来表示。          因x1,x2为0~7之间的整数,所以分别用3位无符号二进制整数来表示,将它      …

    2025年8月31日
    9
  • python的enumerate函数怎么加判断条件_java中比int大的整数类型

    python的enumerate函数怎么加判断条件_java中比int大的整数类型Python的enumerate()函数就像是一个神秘的黑箱,你无法简单地用一句话来概括这个函数的作用与用法。enumerate()函数属于非常有用的高级用法,而对于这一点,很多初学者甚至中级学者都没有意识到。这个函数的基本应用就是用来遍历一个集合对象,它在遍历的同时还可以得到当前元素的索引位置。我们看一个例子:names=[“Alice”,”Bob”,”Carl”]forindex,valueinenumerate(names):print(f'{index}:{va

    2025年8月5日
    6
  • javaweb分页显示_java分页查询原理思路

    javaweb分页显示_java分页查询原理思路实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。总页数=总记录数/每页大小,如果0。=总记录数%每页大小,那么总页数再+1。当前页数。表记录的起始位置=(当前页数-1)想用JAVAWEB实现分页技术。请问应该怎么做如何用java实现分页效果(eclipse工具)用java实现翻页代码跟eclipse没有关系。参…

    2022年9月1日
    12
  • Pytest(13)命令行参数–tb的使用「建议收藏」

    Pytest(13)命令行参数–tb的使用「建议收藏」前言pytest使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。–tb=style参数可以设置报错的时候回溯打印内容,可以设置参

    2022年7月28日
    10
  • activity-alias的使用

    activity-alias的使用

    2021年12月10日
    59
  • 八皇后问题详解(四种解法)

    八皇后问题详解(四种解法)如果你去百度百科八皇后这个问题,你会发现人家也是历史上有头有脸的一个问题,最后一句“计算机发明后就有一万种方式解决这个问题”读起来也让程序猿们很快活。闲话少说,开始阐述我的思路:最无脑的解法一定是八个for遍历,浪费了太多的计算资源在各种无用功上面,我们稍微构思一下:首先如何决定下一个皇后能不能放这里可以有两种思路,第一种是尝试维护一个8*8的二维矩阵,每次找到一个空位放下一个皇后就把对应行列对

    2022年6月30日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号