css+jquery实现图片滑动特效果animate动画+定位纯手写

想当年做后端开发,对前端总是保持了“强烈的敬畏心”,尤其是对这些滑动的css特效,更是“不忍直视”,但是逼急之后,只能手撕它了!

通过jquery框架动画函数animate,结合css的position 绝对定位,实现图片自动的轮播,轮播内容不限于图片,也可以是自定义的html模块。源码如下,直接复制,替换上图片及自己的jquery库文件即可运行:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
		<style type="text/css">
			.container {
				position: relative;
				left: 50px;
				top: 50px;
				width: 725px;
				height: 320px;
				overflow: hidden;
				background-color: red;
			}

			.item {
				position: absolute;
				/* left: 0%; */
				top: 0%;
			}

			
		</style>
		<script type="text/javascript">
			$(document).ready(function() {

				//记录可见的活动项序号
				let curIndex = 0;
				//获取活动项的总数量
				let count=$(".item").children().length-1;

				//初始化滑动项的位置及在滑动后复位
				function initSlide() {						 
				$(".item").each(function(index, ele) {
					if (index == curIndex) {
						$(ele).css("left", "0%")
					}else{
						$(ele).css("left","100%")
					}						 
					});									
				}
				
				function sildLeft(){
					let a=curIndex;
					curIndex++;
					if(curIndex>count)
						curIndex=0;				
					$("#item-"+a+",#item-"+curIndex).animate({
						left: "-=100%"
					}, 500,"swing",function(){initSlide()}); 
				}
				//初始化
				initSlide();
				
				// $("#goLeft").click(function() {
				// 	sildLeft();					
				// });
				
				setInterval(sildLeft,2000)

			});
		</script>
	</head>
	<body>
		<div class="container">
			<div class="item" id="item-0">
				<img src="../moni/img/a.jpg" />
			</div>
			<div class="item" id="item-1">
				<div style="width:725px;
				height: 320px;background-color: greenyellow;font-size: 30px;">2</div>
			</div>
			<div class="item" id="item-2">
				<img src="../moni/img/a.jpg" />
			</div>
			<div class="item" id="item-3">
				<div style="width:725px;
				height: 320px;background-color: skyblue;font-size: 30px;">4</div>
			</div>
		</div>
		<div>
			<!-- <button type="button" id="goLeft"">left</button> -->
		</div>
	</body>
</html>

效果图示:

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值