首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从零开始学 Web 之 BOM(四)client系列

因为当我们滚动滑轮的时候,鼠标距离页面顶部的距离改变了,但是 clientY 是可视区域的大小,滚动滑轮的时候, clientY 的大小是没有变的,但是鼠标距离页面顶部的距离改变了,而图片在 Y 轴的距离计算还是按照...px"; my$("im").style.top = evt.getPageY(e) + "px"; } 2、案例:淘宝宝贝放大镜...= "block"; }; // 鼠标退出,隐藏遮挡和大 smallObj.onmouseout = function () { maskObj.style.display...= "none"; bigObj.style.display = "none"; }; // 遮挡跟着鼠标移动,使鼠标位于遮挡中央 smallObj.onmousemove...第二步:鼠标进入,离开小,显示和隐藏遮挡和大。 第三步:遮挡随着鼠标的移动而移动。 第四步:遮挡移动的最大范围在小图内。

80120
您找到你想要的搜索结果了吗?
是的
没有找到

【如果你要学JS XIII】——实现放大镜效果、client&scroll属性、固定侧边栏

1.如何实现放大镜效果思维整理:1.鼠标经过小图片盒子,黄色的遮挡和大图片盒子显示,离开隐藏2个盒子功能2.黄色的遮挡跟随鼠标功能。3.移动黄色遮挡,大图片跟随移动功能。html,css代码 * { margin: 0; padding: 0; }...yel = this.document.querySelector('.yel'); var big = this.document.querySelector('.big'); // 当鼠标经过就显示和隐藏遮罩和大盒子...var x = e.pageX - this.offsetLeft; var y = e.pageY - this.offsetTop; // 给黄色的遮挡一个鼠标在盒子移动的坐标...,以及固定侧边栏,这些功能是经常见的,也是基于js而实现的,如果能给你带来帮助那还请用发财的小手点个赞吧!

39410

电商放大镜及动态边框效果

下面我用js(jq)来展示一下,并且加入一丢丢的动态边框效果。 效果 ?...环境及语言 html css js / jq 思路 放大镜 缩略图及细节布局 鼠标划入事件:鼠标放在缩略图,出现小的蒙和细节;当鼠标移动,细节随之变化 鼠标及蒙边界判断处理 鼠标移除事件:隐藏蒙蒙及细节...动态边框 鼠标悬浮,边框出现 鼠标移除,边框消失 那么问题来了,细节怎么随鼠标变化?...放大镜 效果 ?...思路 鼠标移入 显示蒙及细节 指定蒙层位置 为蒙及细节做相关计算,如蒙中心、细节走向等 鼠标及蒙边界判断及处理 细节展示及变化 鼠标移除 蒙及细节隐藏 代码 // html <div

1.8K20

前端成神之路-WebAPIs05

('mousemove', move); }) }) 1.1.6 案例:仿京东放大镜 整个案例可以分为三个功能模块 鼠标经过小图片盒子, 黄色的遮挡 和 大图片盒子显示...之后把数值给遮挡做为left 和top值。 此时用到鼠标移动事件,但是还是在小图片盒子移动。 发现,遮挡层位置不对,需要再减去盒子自身高度和宽度的一半。 遮挡不能超出小图片盒子范围。...当我们鼠标经过 preview_img 就显示和隐藏 mask 遮挡 和 big 大盒子 preview_img.addEventListener('mouseover', function(...大图片的移动距离 = 遮挡移动距离 * 大图片最大移动距离 / 遮挡的最大移动距离 // 大 var bigIMg = document.querySelector...mouseenter 事件 类似 mouseover,它们两者之间的差别是 mouseover 鼠标经过自身盒子会触发,经过子盒子还会触发。

1.5K10

原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理

前言本文将用一个极简的例子详细讲解如何用原生JS一步步实现完整的图片预览和查看功能,无任何第三方依赖,兼容PC与H5,实现了触屏双指缩放等,干货满满。...指针 是输入设备的硬件抽象(比如鼠标,触摸笔,或触摸屏上的一个触摸点),它能指向一个具体表面(如屏幕)上的一个(或一组)坐标,可以表示包括接触点的位置,引发事件的设备类型,接触表面受到的压力等。...图片在上一篇文章手写拖拽效果中我也讲到了如何在JS中使用数学方法计算两点间距离,下面介绍另一种常见的简洁写法,Math.hypot() 函数返回其参数的平方和的平方根:图片nd.y - start.y)...我们画两张看下,在原点变化的前后图像的坐标点发生了哪些变化:图片如上图,原点为 O 时,我们取右下角的点设为点 A,图像放大2倍时 A 点变换到 B 点。...图片而当原点突然变为 O’ 时,点 A 在图像放大2倍时则变换到了 B' 点。

2.3K71

【说站】vue实现tab切换的放大镜效果

本文实例为大家分享了vue实现tab切换的放大镜效果的具体代码,供大家参考,具体内容如下 废话不多说先看效果 1.我这里并没有加遮罩,如有需要请自行加上 2.图片建议使用4k高清图片,不然放大后模糊...,影响观看心情 3.不用拘泥于样式,关注实现原理即可 4.可能我的方法并不简便,但是也是一种思路,请大家参考 实现原理 第一肯定需要vue.js 第二需要两张图片 左边为现实图片,右边放大后的效果其实一直存在...,只不过鼠标移入现实,鼠标移出消失 放大的图片并不是真正的放大,而是在img标签外套了一个父元素,将img标签的宽高都设置为百分之一百以上,至于放大多少你就设置多少,然后给父元素设置超出隐藏,再设置display...:none让元素隐藏,等到鼠标移入左边大的时候再显示 至于如何让鼠标移动放大的图片也会移动就是要获取鼠标在元素上移动的位置,用鼠标移动事件触发,然后给放大后的图片设置相对定位然后将鼠标的移动的X轴位置和...Y轴位置分别赋值给大的left和top 简单来说,放大后的图片本来就存在只不过设置为隐藏,鼠标移入的后再显示,然后获取鼠标移动的位置赋值给大的相对定位值,这就是放大镜的实现原理 tab切换就更简单了

1.4K30

「JavaScript 」动画基础 - 01

('mousemove', move); }) }) 1.1.6 案例:仿京东放大镜 整个案例可以分为三个功能模块 鼠标经过小图片盒子, 黄色的遮挡 和 大图片盒子显示,离开隐藏2个盒子功能...之后把数值给遮挡做为left 和top值。 此时用到鼠标移动事件,但是还是在小图片盒子移动。 发现,遮挡层位置不对,需要再减去盒子自身高度和宽度的一半。 遮挡不能超出小图片盒子范围。...当我们鼠标经过 preview_img 就显示和隐藏 mask 遮挡 和 big 大盒子 preview_img.addEventListener('mouseover', function(...大图片的移动距离 = 遮挡移动距离 * 大图片最大移动距离 / 遮挡的最大移动距离 // 大 var bigIMg = document.querySelector...mouseenter 事件 类似 mouseover,它们两者之间的差别是 mouseover 鼠标经过自身盒子会触发,经过子盒子还会触发。

48210

如何读懂火焰

这个结果还是不易读,所以才有了火焰。 二、火焰的含义 火焰是基于 perf 结果产生的 SVG 图片,用来展示 CPU 的调用栈。 ? y 轴表示调用栈,每一都是一个函数。...三、互动性 火焰是 SVG 图片,可以与用户互动。 (1)鼠标悬浮 火焰的每一都会标注函数名,鼠标悬浮时会显示完整的函数名、抽样抽中的次数、占据总抽样次数的百分比。下面是一个例子。...mysqld'JOIN::exec (272,959 samples, 78.34 percent) (2)点击放大 在某一点击,火焰会水平放大,该会占据所有宽度,显示详细信息。 ?...经过合并处理后,得到了下面的结果,即存在两个调用栈,第一个调用栈抽中1次,第二个抽中2次。...五、局限 两种情况下,无法画出火焰,需要修正系统行为。 (1)调用栈不完整 当调用栈过深时,某些系统只返回前面的一部分(比如前10)。

1K20

个人永久性免费-Excel催化剂功能第54波-批量图片导出,调整大小等

正确的图片数据管理方式,应该从源头抓起,先把源头的图库维护干净规范,Excel的图片在外部图库中已有存在,Excel仅是图片的消费方而非需要使用图片导出方式形成的图片生产方。...,程序识别到其他的单元格的情况)。...若是Excel催化剂插入插入的图片,直接鼠标右键图片,已经有丰富的后续操作可供选择,复制图片导出即可过多成图片导出功能。...,若想导出的图片有足够的清晰度,需要在原来的图片中进行足够大的放大的效果。...原图片效果 上下居中 左右居中 上下左右都居中 填充单元格,有可能会拉伸图片变形 总结 经过以上的图片导出、图片调整操作,可略略感受到若原始数据不合规,想在原始数据中得到貌似很有逻辑的数据结果,

40210

「实战」如何用H5实现原生体验的图片预览组件

旋转图片在alloyFinger中有提供方法支持,但由于本需求中使用场景少而且涉及更复杂的坐标变换,因此我目前还没添加上。后续工作量许可的情况下会支持。...二、实现基础 图片预览组件目前是基于alloyFinger.js来做手势支持,transform.js来做CSS3的变换,to.js来做动画的过渡函数。...翻页的实现 理论上支持图片无限翻页,这里实现的方法是: 任何时候都保持三张图片在容器中并且中间的图片在屏幕。翻页之后再通过删除前一张和补充后一张来维持三张图片的状态。...ps:对于transform.js的origin,默认是0表示是图片50%的位置,只能设置px值不能设置比例 例如下图中,1是当前图片从当前中心点放大两倍的情况,实际上等同与从2平移到3。...手势细节-回弹 交互上,图片放大和缩小是有倍数限制的,超过最大/最小倍数值的时候,会让用户继续放大一部分,但再超过一定的阈值之后会停止放大,并在手指松开之后回弹到最大/最小倍数。

2.9K20

元素偏移量 offset 系列

案例:获取鼠标在盒子的坐标 我们在盒子点击,想要得到鼠标距离盒子左右的距离。...案例:仿京东放大镜 整个案例可以分为三个功能模块 鼠标经过小图片盒子, 黄色的遮挡 和 大图片盒子显示,离开隐藏2个盒子功能 黄色的遮挡跟随鼠标功能。...之后把数值给遮挡做为left 和top值。 此时用到鼠标移动事件,但是还是在小图片盒子移动。 发现,遮挡层位置不对,需要再减去盒子自身高度和宽度的一半。...当我们鼠标经过 preview_img 就显示和隐藏 mask 遮挡 和 big 大盒子    preview_img.addEventListener('mouseover', function(...大图片的移动距离 = 遮挡移动距离 * 大图片最大移动距离 / 遮挡的最大移动距离        // 大        var bigIMg = document.querySelector

1.1K20

基于 Vue 的商品主放大镜方案

实现原理 放大镜的原理用一句话概括,就是根据小图上的鼠标位置去定位大1 原理(以2倍放大为例) ?...相信原理已经画的很明白了, 图中,左侧框是小图框,其蓝色区域为图片遮罩(需放大区域),右侧框是整个大目前所在区域,其蓝色区域是放大区域,设置超出隐藏,就实现了放大遮罩区域的效果。...X 坐标为(maskX,maskY),以计算 maskX 为例: 鼠标移动中会产生 e.clientX ,标识鼠标与浏览器左侧的距离,小与浏览器左侧的距离是 left ,由于遮罩始终是一个以鼠标为中心的正方形...3 宽展示 ? 4 两倍放大效果 ? 5 四倍放大效果 ?...handOver:鼠标进入到小图框上的事件,此时显示遮罩和放大区域,并计算小图框的位置信息。 handOver() { // 计算小图框在浏览器中的位置 this.imgObj = this.

1.8K10

Typecho主题Handsome修改记录---(持续更新)

iframe视频文章嵌入优化 iframe视频短代码插入 响应耗时和访客总数(全站字数放弃,减少服务器压力) 右侧边栏时光流逝模块 顶部导航显示心知天气 左侧目录彩色图标 右侧彩色标签和彩色标签云 鼠标经过头像旋转放大...鼠标点击特效 文章标题居中 LOGO扫光 复制成功提示 H1/H2标题背景颜色设置 打赏按钮跳动效果 移动端隐藏标签云和博客信息 首页文章鼠标经过上浮 网站运行时间 文章end标识 (new) 文章二维码...panel-body p:first-letter { font-size: 140%; /* float: left; */ vertical-align: middle; } 头像呼吸光环和鼠标悬停旋转放大...hover { transform: translateY(-10px); box-shadow: 0 8px 10px rgba(73, 90, 47, 0.47); } 首页文章列表头悬停放大并将超出范围隐藏...hidden; } .item-thumb { transition: all 0.3s; } .item-thumb:hover { transform: scale(1.1) } 文章和文章图片悬停放大并将超出范围隐藏

97820

CAN-EYE计算植被冠参数的方法

在本文中,我们就以前期用鱼眼镜头在垂直方向向上拍摄的若干乔木冠照片为例,来进行植被冠参数的计算。...此外,需要注意的是,CAN-EYE软件一次性只能处理25张照片,如果大家在同一个研究区域拍摄的照片大于25张,就需要分成两个文件夹分别存储、计算。...尽管本文所用照片为DP0照片,但由于DHP照片在处理过程中会涉及到更多的参数,因此这里先选择“Digital Hemispherical Photos (DHP)”选项来进行介绍。...选择“TRASH IMAGE”选项,并通过鼠标左键选定不想要的照片,选择完毕后单击鼠标右键即可。   确认无误后,点击“OK”即可进入下一环节。...也可以选中某一张照片,将其放大,如上图所示。   然后选择两个类别中任意一个类别左侧的方形选项框,并用鼠标左键在图中进行框选,从而实现监督分类。

65320

利用d3.js对QQ群资料进行大数据可视化分析

对于前段时间流出的QQ群数据大家想必已经有所了解了,处理后大小将近100G,多达15亿条关系数据(QQ号,群昵称,群号,群权限,群性别和年龄)和将近9000万条群信息(群号,群名,创建时间,群介绍...数据处理 在QQ群和群成员关系里面,对于层数我是这么定义的: 第1:目标QQ加入的所有群 第2:目标QQ加入的所有群的所有成员 第3:目标QQ加入的所有群的所有成员加入的所有群 ....QQ和QQ群是一种典型的数据的应用,QQ和QQ群作为节点(node),QQ加入了哪些群作为关系(link),d3.js内置了一个功能很强大的内建布局,叫做Force-Directed Graph(受力导向...鼠标悬停到群图标上可以看到群的详细信息(如果有的话) ? 因为很多人在不同群里的昵称不一样,所以群昵称等信息就只能放到link上面了,因为线比较细,所以鼠标比较难对准,这个功能还待修改。...为了保护当事人的隐私,这张我打码了。 这张比较宽,建议大家下载下来放大看 ? 总结 假如把层数扩展到4,不知能否筛选出中国所有黑阔的QQ号呢?至少我已经在这张图里看到了很多熟悉的名字和号码。

3.8K70
领券