CSS3简单好用的放大镜效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.box{
position: relative;
}
.small{
position: relative;
width: 350px;
height: 350px;
border: solid 1px darksalmon;
}
.mask{
position: absolute;
width: 80px;height: 80px;
background-color: rgba(223,24,22,0.2);
display: none;
}
.big{
position: absolute;
left: 360px;
top: 0px;
border: solid 1px darksalmon;
width: 400px;height: 400px;
overflow: hidden;
/*display: none;*/
}
#bigimg{
position: absolute;
left: 0px;
top:0px;
border: solid seagreen 1px;
}
</style>
</head>
<body>
<div class="box">
<div id="small" class="small">
<img id="smallimg" src="109.jpg" width="300" height="300"/>
<div id="mask" class="mask">
</div>
</div>
<div class="big" id="big">
<img id="bigimg" src="109.jpg" />
</div>
</div>
<script type="text/javascript">
function $ (id) {
return document.getElementById(id)
}
$("small").onmouseover=function () {
$("mask").style.display="block"
$("big").style.display="block"
}
$("small").onmouseout=function () {
$("mask").style.display="none"
$("big").style.display="none"
}
$("small").onmousemove=function (e) {
var event = e ||window.event
//鼠标在文档的位置
var pageX = event.pageX||event.clientX+document.documentElement.scrollLeft
var pageY = event.pageY||event.clientY+document.documentElement.scrollTop
//mask的位置 = 鼠标的位置-mask的一半宽度
var maskX = pageX - $("mask").offsetWidth/2
var maskY = pageY - $("mask").offsetHeight/2
//mask可以移动的范围
if (maskX<0) {
maskX=0
} else if(maskX>$("small").offsetWidth-$("mask").offsetWidth){
maskX=$("small").offsetWidth-$("mask").offsetWidth
}
if (maskY<0) {
maskY=0
} else if(maskY>$("small").offsetHeight-$("mask").offsetHeight){
maskY=$("small").offsetHeight-$("mask").offsetHeight
}
$("mask").style.left=maskX+"px"
$("mask").style.top=maskY+"px"
var bigImg = $("bigimg").offsetWidth-$("big").offsetWidth
var mask = $("small").offsetWidth-$("mask").offsetWidth
var rate = bigImg/mask
//bigimg的坐标
$("bigimg").style.top = -rate*maskY+"px"
$("bigimg").style.left= -rate*maskX+"px"
console.log($("bigimg").style.top)
}
</script>
</body>
</html>
文章来自 www.96net.com.cn
分类:
css3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端