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


相关推荐

  • 彻底禁止Win10自动更新工具Windows Update Blocker v1.5 汉化版

    彻底禁止Win10自动更新工具Windows Update Blocker v1.5 汉化版以往的Windows10系统我们还可以通过禁止更新服务,设置一些本地组策略来禁止Windows系统的更新,但现在的Windows好像越来越流行更新了,一些简单的禁止完全没用,依旧会自动检查更新!一款你需要的彻底禁止Win10自动更新的工具它来了,WindowsUpdateBlocker是一款免费软件,只需一键,即可帮助您完全禁用或启用Windows系统上的自动更新。使用起来超级…

    2022年6月4日
    131
  • height:100vh的应用

    height:100vh的应用今天改移动端页面样式的时候因为height:100vh,导致我想超出部分滚动页面的效果没有做出来。就查查这玩意是啥意思。别人解释的height:100vhvh就是当前屏幕可见高度的1%,也就是说height:100vh==height:100%;但是当元素没有内容时候,设置height:100%,该元素不会被撑开,此时高度为0,但是设置height:100vh,该元素会被撑开屏幕高…

    2022年5月27日
    31
  • foreach跳出本次/当前循环与终止循环方法_js 跳出for循环

    foreach跳出本次/当前循环与终止循环方法_js 跳出for循环1、forEach跳出本次循环可使用return语句跳出本次循环,执行下一次循环vararr=[1,2,3,4,5,6]arr.forEach((item)=>{ if(item===3){ return }console.log(item)})将输出12456,3不会输出2、forEach终止循环forEach无法通过正常流程(如break)终止循环,但可通过抛出异常的方式实现终止循环vararr=[1,2,3,4,5,6]tr

    2022年10月21日
    0
  • 安卓设备转移代码_从安卓设备转移数据到苹果手机

    安卓设备转移代码_从安卓设备转移数据到苹果手机JihosoftPhoneTransfer提供一键式解决方案,可在Android和iOS设备之间传输数据,甚至可以轻松备份和恢复您的手机数据。这是非常容易使用。下载电话数据传输并完成安装过程后,您应该看到如下主窗口:第1部分:如何将数据从电话传输到电话1,将您的两个设备连接到计算机在主页上,点击“手机到手机”标签,并使用USB线将两台设备(Android或iOS)连接到计算机。通过电话转接连接…

    2022年9月18日
    0
  • platform device driver

    platform device driverplatform总线是在linux2.6内核中加入的一种虚拟总线。platform机制有两部分组成platform_device和platform_driver.structplatform_device{   constchar   *name;   int      id;   structdevice   dev;   u32      num_resources;   structresource   *resource;};plat

    2022年7月24日
    5
  • 菜鸟教程 python 正则表达式_python正则表达式使用实例

    菜鸟教程 python 正则表达式_python正则表达式使用实例正则表达式正则表达式(RegularExpression,在代码中常简写为regex、regexp、RE或re)是预先定义好的一个“规则字符率”,通过这个“规则字符串”可以匹配、查找和替换那些

    2022年8月7日
    4

发表回复

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

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