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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ios uiview和calayer_ipad的assistive touch在哪里

    ios uiview和calayer_ipad的assistive touch在哪里IOS笔记CALayer的position和anchorPointCALayer有2个非常重要的属性:position和anchorPoint@propertyCGPointposition;用来设置CALayer在父层中的位置以父层的左上角为原点(0,0)@propertyCGPointanchorPoint;称为”定位点”,“锚点”决定着CALayer身上的哪个点会在poistion属性所指的位置以自己的左上角为原点(0,0)它的x,y取值范围都是0~1默认值为(0.5,0.

    2022年10月8日
    4
  • SpringBoot2+Netty+WebSocket(netty实现websocket,支持URL参数)

    SpringBoot2+Netty+WebSocket(netty实现websocket,支持URL参数)关于NettyNetty是一个利用Java的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的API的客户端/服务器框架。MAVEN依赖 <dependencies> <!–https://mvnrepository.com/artifact/io.netty/netty-all–> <dependency> <g…

    2022年7月11日
    16
  • pycharm升级pip版本_怎么升级pip版本

    pycharm升级pip版本_怎么升级pip版本python-mpipinstall–upgradepip

    2025年8月9日
    5
  • Linux安装JDK并配置环境变量 – 详细步骤

    Linux安装JDK并配置环境变量 – 详细步骤LInux 安装 JDK 最详细记录 快来收藏一波 同事需要时 甩他脸上

    2025年11月27日
    5
  • AnalyticDB_分布式分析型数据库

    AnalyticDB_分布式分析型数据库AnalyticDB分析型数据库本文初衷是为了学习归纳,若有错误,请指出。修改记录时间内容2020年9月13日第一次发布一、概述1.1定义​ 分析型数据库AnalyticDB(原名ADS)是阿里巴巴针对海量数据分析自主研发的实时高并发在线分析系统,可以针对万亿级别的数据进行多维度分析透视和业务探索。采用分布式计算,具有强大的实时计算能力。1.2特点​ 主要特点就是实时和高并发,可以针对万亿级别的数据进行多纬度分析透视和业务探索。兼容MySQL、B

    2025年12月15日
    4
  • mysql备份的三种方案

    mysql备份的三种方案本文转自https://www.cnblogs.com/fengzhongzhuzu/p/9101782.html建议阅读:https://www.cnblogs.com/clsn/p/8150036.html一、备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用二、备份需要考虑的问题可以容忍丢失多长时间的…

    2022年6月17日
    30

发表回复

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

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