JS实现放大镜

一、放大镜

放大镜主要有两部分,一部分是小放大镜,一部分是大放大镜,都是默认隐藏,当悬浮时出现;

二、图片部分

图片原图为正常大小,放大镜所显示图片为倍数增加大小

切记:无论放大镜还是图片都是以倍数关系进行放大显示,若不是则会出现放大之后出现大小放大镜无法一致的问题

图片也是种资源,执行到img标签时,才去请求图片资源.js代码会继续执行,直接获取图片的宽高是不行的,因为图片资源没有加载完成.

、思路

  1. 给小图绑定事件

  1. 构造移入事件函数(设置display属性,鼠标移入显示小黄块,放大的图也显示)

  1. 构造移出事件函数(设置display属性,使其隐藏)

  1. 获取box定位

  1. 获取大图的宽度和高度

  1. 计算小黄块能够移出的最大left和top

  1. 获取鼠标相对于文档的坐标(因没有滚动条和可视区的宽高一致)

  1. 进行判断不能超出左侧和上侧,右边界和下边界

  1. 计算大图移动的最大位置

  1. 实时记录大图的位置并进行设置

  1. 用$获取节点

、代码如下

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<!--<link rel="stylesheet" href="css/index.css">-->

<style>

img {

display: block;

}

* {

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值