damo10

news/2024/12/22 20:38:18/

放大镜效果

需求:
1.鼠标移至图片上方,鼠标周围出现黄色的的正方形框,黄色矩形框会随着鼠标的移动而移动;
2.将黄色正方形框里的内容的长和宽均放大2.4倍,并在图片右边进行显示。

实现原理:
获得鼠标在盒子的坐标,设置鼠标移入移出事件,移入时用设置放大镜显示,移出则隐藏,遮挡层的最大移动距离为小图片盒子宽度减去遮挡层宽度

damo10

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 400px;height: 400px;}.content {width: 400px;height: 400px;position: relative;border: 1px solid #ccc;}.content>img {width: 400px;height: 400px;}.mask {width: 100px;height: 100px;background-color:#ccc;opacity: 0.5;position: absolute;top: 0;left: 0;border: 1px solid #ccc;display: none;}.big {width: 400px;height: 400px;position: absolute;top: 0;left: 410px;border: 1px solid #ccc;overflow: hidden;display: none;}.big>img {width: 800px;height: 800px;position: absolute;top: 0;left: 0;}</style>
</head><body><div class="box"><div class="content"><img src="./素材库/1.jpg" alt=""><div class="mask"></div><div class="big"><img src="./素材库/1.jpg" alt=""></div></div></div><script>var content = document.querySelector('.content')var mask = document.querySelector('.mask')var big = document.querySelector('.big')content.addEventListener('mouseenter', function () {mask.style.display = 'block'big.style.display = 'block'})content.addEventListener('mouseleave', function () {console.log(1111);mask.style.display = 'none'big.style.display = 'none'})content.addEventListener('mousemove', function (e) {var x = e.pageX - content.offsetLeftvar y = e.pageY - content.offsetTopvar maskX = x - mask.offsetWidth / 2var maskY = y - mask.offsetHeight / 2console.log(mask.offsetWidth, content.offsetWidth);var XMAX = content.offsetWidth - mask.offsetWidthvar YMAX = content.offsetHeight - mask.offsetHeightconsole.log(maskX, maskY, XMAX);if (maskX <= 0) {maskX = 0} else if (maskX >= XMAX) {maskX = XMAX}if (maskY <= 0) {maskY = 0} else if (maskY >= YMAX) {maskY = YMAX}mask.style.left = maskX + 'px'mask.style.top = maskY + 'px'var img = document.querySelector('.big>img')imgXMax = img.offsetWidth - big.offsetWidthimgYMax = img.offsetHeight - big.offsetHeightimg.style.left = -maskX * imgXMax / XMAX + 'px'img.style.top = -maskY * imgYMax / YMAX + 'px'})</script>
</body>
</html>

http://www.ppmy.cn/news/690015.html

相关文章

damo2

轮播图 需求: 1.鼠标不在图片上方时&#xff0c;进行自动轮播&#xff0c;并且左右箭头不会显示&#xff1b;当鼠标放在图片上方时&#xff0c;停止轮播&#xff0c;并且左右箭头会显示&#xff1b; 2.图片切换之后&#xff0c;图片中下方的小圆点会同时进行切换&#xff0c;并…

html5 网页弹幕,Damoo

软件简介 Damoo 是一个轻量级的 HTML5 弹幕引擎。可以在页面元素上附加一层弹幕图层并且以非常简单的 API 调用方式使用。查看DEMO Damoo 一个不起眼的 HTML5 弹幕引擎。 Getting started 走起 下载最新发行版本。 需要在页面中准备一个合适的容器。 Then, import damoo.js or …

thingJS模模搭(campusbuilder/momoda)及3dsmax插件遇到的坑

列表 momoda(模模搭)3dsmax插件 momoda(模模搭) 一个账号不要多端同时使用&#xff0c;每个人的增删改在同步后不知会发生什么问题。 上传模型要好久才能出现在“上传模型”文件夹里&#xff0c;还要不知什么时候才会在打开场景里看到&#xff1b;所以要多次点击同步和场景选项…

LwIP系列(4):ARP协详解

前言 对于应用程序而言&#xff0c;我们与其他设备、服务通信&#xff0c;主要通过域名、IP进行通信&#xff0c;而以太网底层驱动&#xff0c;最终是通过MAC地址来表示设备的唯一标识&#xff0c;即IP是逻辑地址&#xff0c;并不是物理地址。在上一篇文章中&#xff0c;我们也…

从网易云、QQ音乐下载音乐

声明&#xff1a;对于热爱音乐的人&#xff0c;还是要支持作者&#xff0c;通过付费购买正版音乐&#xff0c;这样作者才有动力创造更好的音乐给大家。 这种方法下载音乐可能很多人都知道了&#xff0c;但可能还有一些小伙伴不知道&#xff0c;所以在这里分享一下。 1.打开火狐…

Python打造qq音乐歌曲下载器

Python打造qq音乐歌曲下载器 搭建应用程序界面实现功能&#xff0c;下载音乐 桌面应用程序&#xff0c;GUI tkinter import TK&#xff1a;python自带的&#xff0c;简单&#xff0c;好入门&#xff0c;但较丑 另外比较美观的&#xff1a; wxpython pyqt5&#xff0c;它不是…

百度网盘的音乐怎么分享到qq音乐里?

百度网盘&#xff0c;是很多小伙伴都在使用的云存储软件&#xff0c;支持存储图片、音乐、文件、视频等等内容&#xff0c;那我们怎么把百度网盘的音乐怎么分享到QQ音乐呢&#xff1f;下面小编就给大家分享一下百度网盘把音乐分享到QQ音乐的教程。 百度网盘怎么把音乐传到QQ音乐…

搜索关键字下载QQ音乐

搜索关键字下载QQ音乐 本案例所用到的模块&#xff1a; import requests import json import os from jsonpath import jsonpath from urllib.request import urlretrieve from requests.exceptions import RequestException前言&#xff1a; 因为腾讯音乐占有中国总曲库的90…