- 53
- 0
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.container{
border: 2px solid #eee;
width: 400px;
height: 400px;
box-shadow: 5px 10px 10px 3px #ccc;
position: relative;
float: left;
}
.box {
width: 180px;
height: 180px;
background: yellow;
opacity: 0.4;
/*display: none;*/
position: absolute;
}
.scale {
width: 450px;
height: 450px;
border: 2px solid #b3b3b3;
position: relative;
display: inline-block;
overflow: hidden;
}
.big-image{
/*overflow: hidden;*/
position: absolute;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div class="container">
<img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=4265027237,2654660306&fm=27&gp=0.jpg" width="100%" height="100%">
<div class="box"></div>
</div>
<div class="scale">
<img class="big-image" src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=4265027237,2654660306&fm=27&gp=0.jpg" alt="" width="100%" height="100%">
</div>
<script>
let container = document.querySelector('.container');
let box = document.querySelector('.box');
let scale = document.querySelector('.scale');
let bigImage = document.querySelector('.big-image'); // 大图
let percent = scale.offsetHeight / box.offsetHeight; // 大图:小图比例
bigImage.width = bigImage.offsetWidth * percent;
bigImage.height = bigImage.offsetHeight * percent;
container.onmouseover = () => {
box.style.display = 'block';
container.onmousemove = e => {
let x = e.clientX;
let y = e.clientY;
box.style.left = x - box.offsetWidth / 2 + 'px';
box.style.top = y - box.offsetHeight / 2 + 'px';
if(box.offsetLeft <= 0) {
box.style.left = 0;
}
if(box.offsetTop <= 0) {
box.style.top = 0;
}
if (container.offsetWidth - box.offsetLeft < box.offsetWidth) {
box.style.left = container.offsetWidth - box.offsetWidth + 'px';
}
if (container.offsetHeight - box.offsetTop < box.offsetHeight) {
box.style.top = container.offsetHeight - box.offsetHeight + 'px';
}
bigImage.style.left = -box.offsetLeft * percent + 'px';
bigImage.style.top = -box.offsetTop * percent + 'px';
; }
};
container.onmouseout = () => {
box.style.display = 'none';
};
</script>
</body>
</html>
源码贴上可以直接运行,大神帮忙看看,我眼花了真是~~
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
perfunctory.(敷衍) 普通会员 1楼
放大镜是一种光学仪器,其放大倍数通常在10-20倍之间。如果你的手写了一个放大镜,但是比例不对,那么可能是以下原因:
-
镜片本身的问题:如果你的手写放大镜的镜片出现了裂纹、污垢或其他问题,那么放大倍数可能就会降低。
-
眼睛的问题:如果你的眼睛有问题,比如近视或散光,那么你可能需要更换一副新的眼镜来放大镜的倍数。
-
镜座或支架的问题:如果你的手写放大镜的镜座或支架松动,那么放大倍数可能就会降低。
-
外观设计的问题:如果你的手写放大镜的设计不合理,比如边缘模糊、角度不合适等,那么放大倍数可能就会降低。
你可以尝试以下步骤来解决这个问题:
-
检查镜片:首先,你需要检查你的手写放大镜的镜片,看看是否有裂纹、污垢或其他问题。
-
检查眼睛:如果眼镜有问题,那么你需要更换一副新的眼镜。
-
检查镜座或支架:如果镜座或支架松动,那么你需要将其固定好。
-
调整设计:如果手写放大镜的设计不合理,那么你可以尝试调整设计,使其更加合理。
如果你仍然无法解决问题,那么可能需要寻求专业人士的帮助,比如眼镜店的员工或者专业的光学仪器维修人员。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
