javascript 图片放大效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>图片悬浮放大效果</title>
		<style>
			img:hover{
				cursor: pointer;
			}
			.smallImgDiv{
				display: flex;
				justify-content: space-between;
				width: 800px;
				height: 100px;
				margin: 0px auto;
				margin-top: 100px;
				border: 4px solid deepskyblue;
				padding: 8px;
			}
			.smallImg{
				border: 1px solid gray;
			}
			.bigImgDiv{
				position: absolute;
				width: 400px;
				height: 200px;
				display: none;
				border: 1px solid black;
			}
			.bigImg{
				position: absolute;
				left: 0px;
				top: 0px;
			}
		</style>
		<script>
			window.onload=function(){
				var smallImg1=document.getElementsByClassName("smallImg")[0];
				var smallImg2=document.getElementsByClassName("smallImg")[1];
				var bigImgDiv=document.getElementsByClassName("bigImgDiv")[0];
				var bigImgWidth=document.getElementsByClassName("bigImg")[0].width;//大图片的宽
				
				function mouseMove(event){
					var event=event||window.event;
					var rightWidth = document.documentElement.offsetWidth - event.clientX;	//当前右半边屏幕剩余宽度
					//设置big的top值
					var	mouseTop= event.clientY + 20 + "px";//当前鼠标位置往下放20px
					//设置big的left值, 如果右侧显示区域不够, 大图将在鼠标左侧显示.
					var mouseLeft = (rightWidth < bigImgWidth + 10 ? event.clientX -bigImgWidth - 10 : event.clientX + 10) + "px";

					bigImgDiv.style.display="block";
					bigImgDiv.style.top=mouseTop;
					bigImgDiv.style.left=mouseLeft;
				}
				
				function mouseOut(){
					bigImgDiv.style.display="none";
				}
				
				smallImg1.addEventListener("mousemove",mouseMove);
				smallImg1.addEventListener("mouseout",mouseOut);
				
				smallImg2.addEventListener("mousemove",mouseMove);
				smallImg2.addEventListener("mouseout",mouseOut);
			}
		</script>
	</head>
	<body>
		<div class="smallImgDiv">
			<img id="small" class="smallImg" src="https://www.baidu.com/img/bd_logo1.png" width="150px"/>
			<img id="small" class="smallImg" src="https://www.baidu.com/img/bd_logo1.png" width="150px"/>
		</div>
		<div class="bigImgDiv">
			<img class="bigImg" src="https://www.baidu.com/img/bd_logo1.png" width="400px"/>
		</div>
	</body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值