首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

在 Vue3 中实现飘逸的元素拖拽

记录元素初始位置的坐标,原点位于页面左上角,用来在初始化和被拖拽结束还原被拖拽元素的位置,固定值不发生变化: const originalPosition = reactive({ x: 10,...在页面加载完成后首先要重置一下被拖拽元素的默认位置,并增加 mousedown 事件,在组件卸载删除 mousedown 事件: const restore = () => { elementPosition.x...onMousemove, true); document.removeEventListener('mouseup', onMouseup, true); restore(); } 补充其它部分代码和演示 <div...transition-duration': '0.1s', transform: `translate(${elementPosition.x}px, ${elementPosition.y}px)` }"> </div...总结 使用 mousemove、translate 在 Vue3 中实现可以随意拖拽的 Icon 的案例就完成了,在本次案例中需要认真思考对应的几个坐标和移动时坐标如何更新,事件的使用要成对出现,如何在这个拖拽的

1.8K20

CSS-精灵图片的使用(从一张图片中截图指定位置图标)

避免这个小图标加载耗费大量时间,于是将这些小图片全部放到一张图片上,例如下面的图是利用浏览器调试工具(通常为F12打开)从微博的请求中找到的,大家可以直接下载使用 二、使用难点 精灵图片的使用难点在于如何在这一张图片中定位到我们需要的部分...,首先我们需要理解三个坐标:浏览器坐标、组件坐标、图片坐标,每个组件都有自己的坐标点,左上角为原点,往上y值为负数,越来越小;往左x为负数,越来越小 假如我们的组件的宽高分别为16px,图片宽高为...如下图片当图片原点和组件原点重叠的时候,组件只能显示图片的16px大小 假如此时我们想要截取图片中第二列中的亮的vip6,此时图片需要分别往左移动和往上移动一定距离如下。...,宽高分别等于vip3和4以及微博认证大小,vip3和4宽高都为16px,微博认证x及y坐标分别为95px 35px 创建三个div 指定宽高、背景图片、图标所在位置 显示效果 四、程序源码...-- 设置三个div显示 --> </div

1.4K10

巧用CSS3 :target 伪制作Dropdown下拉菜单(无JS)

Duang~ 实际例子其实就是DeveMobile 主题的右上角那个按钮,你点一下就会有一个Dropdown下拉菜单出现,在其他区域点击返回原状。请用手机扫码查看: ?...可能你会问close 这个修饰的a标签那段是做什么的?...当你触发下拉菜单,有时候需要做关闭(返回原状)的动作,而从具体情况(比如说本实例触发菜单菜单将原来的开关都掩盖了)或者用户体验上考虑,最好是除菜单区域外的整个屏幕都随便盲点就能关闭菜单。...这个a标签就是实现在打开开关产生一个透明的遮罩层覆盖到屏幕上。...为了让下拉菜单更显“下拉”的情况,采用CSS3的origin 定位下转换原点。 注意下兼容性,所有主流浏览器均支持 :target,除了 IE8 及更早的版本,移动端的话直接用。

3.9K80

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

...............指针 是输入设备的硬件层抽象(比如鼠标,触摸笔,或触摸屏上的一个触摸点),它能指向一个具体表面(屏幕)上的一个(或一组)坐标,可以表示包括接触点的位置,引发事件的设备类型,接触表面受到的压力等。...简单在手机浏览器上测试发现,这个数组偶尔会不停增加(例如在滑动页面时),也就是 pointerup 会出现不能正确删除对应点位的情况,或者说被意外中断了,此时会触发 pointercancel 事件监听...图片在上一篇文章手写拖拽效果中我也讲到了如何在JS中使用数学方法计算两点间距离,下面介绍另一种常见的简洁写法,Math.hypot() 函数返回其参数的平方和的平方根:图片nd.y - start.y)...B 坐标就等于 OB 向量加上原点 O 的坐标:图片同理得出点 B' 的坐标:图片BB' 的距离就是两点相减的结果,两点已在上面得出,代入计算过程这里就不多写了,最终化简的结果如下:图片在进行缩放时我们主动改变

2.3K71

【进阶系列】地理位置专题

点击如上图右下角红框内的设置图标,弹出设置面板:         第一个红框用于设置PC端模拟的手机型号,iOS4或者Android;第二个红框选择,可以用鼠标模拟手指拖拽地图。...删除控件方法如下: map.removeControl(zoomControl);//删除缩放控件   map.removeControl(scaleControl);  //删除比例尺控件 3.2.1.2...标注、折线、信息窗口等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。..._div = div;           // 需要将div元素作为方法的返回值,当调用该覆盖物的show、         // hide方法,或者对覆盖物进行移除时,API都将操作此元素。          ...;       });         通过监听事件还可以捕获事件触发的状态。下面示例显示用户拖动地图地图中心的经纬度信息。

58830

Cesium入门之九:Cesium加载gltf文件

.glTF是一个基于JSON格式的文本文件,它可以包含场景、节点、网格信息、材质、动画、相机等3D模型元素,并且可以包括外部资源,纹理、图像和二进制数据等。....相关介绍 Cesium.Cartesian3(x, y, z) Cesium.Cartesian3是Cesium库中用于表示三维世界空间中笛卡尔坐标的。...result是一个可选的Cartesian3对象,表示转换的笛卡尔坐标系下的向量。如果未提供result参数,则新创建一个Cartesian3对象,其中计算的向量储存在其中,然后返回该对象。...例如,当我们在3D场景中选择一个对象返回的结果就是一个包含位置坐标的Cartesian3对象。它们还可以用于执行向量运算和执行3D图形的变换。...该方法返回一个Matrix4对象,该对象表示将ENU坐标系(东北向上)转换为以指定原点为中心的地心坐标系所需的变换矩阵。

1.5K30

Jquery的属性操作和DOM操作

1 addClass() 向被选元素中加入一个或多个                2 removeClass()  删除                3 toggleClass()...增加删除切换操作             $(selector).toggleClass(classname,function(index,currentclass),switch) 1. classname...规定添加或移除的一个或多个名。如需规定若干个,请使用空格分隔名。 2. Function(index,currentclass)可选。规定返回需要添加/删除的一个或多个名的函数。...index 返回集合中元素的 index位置 currentclass 返回被选元素的当前名 3. switch 布尔值,规定是否添加(true)或移除(false) //text() html()...l  该函数返回一个坐标对象,该对象有一个left属性和top属性。Position()中的坐标参考系是以被定位的祖辈元素的左上角为原点(0,0),向右为正,向下为正。

1.3K20

这是一篇很好的互动式文章,Framer Motion 布局动画

FLIP FLIP 是 First, Last, Inverse, Play 的缩写,它是一种技术,可以让我们使用 "快速" 的 CSS 属性(transform)对 "slow" 的布局变化制作动画...FLIP甚至可以对 "不可动画" 的属性(justify-content)进行动画处理。Framer Motion使用FLIP来实现其布局动画。...所以我们先从useEffect钩子中删除依赖数组,使钩子每次渲染都能运行。 试着触发几次布局变化,检查控制台,看看显示的x和y值是什么。...如果用户想要一个不同的变换原点呢?在这种情况下,布局动画应该仍然有效。 诀窍在于确保 inverse 步骤比较了两个方块的变换原点之间的距离。...换句话说,这个错误的发生是因为测量的距离和变换原点之间的差异:getBoundingClientRect()返回元素的左上角,而变换原点默认是在元素的中心。

2.3K20

Sticky Posts Switch插件教程WordPress中为分类添加置顶文章

通过在类别页面上添加粘性帖子,您可以显示该特定类别的特色帖子。在本文中,我们晓得博客将向您展示如何在WordPress中为类别添加置顶文章。...推荐:如何在Xampp中安装PHP GD(GD Graphics Library)什么是置顶帖/文章?  置顶帖/文章与将您的文章放在首页或广告牌上是一样的。...选择开关图标的颜色显示开关图标的列的自定义顺序仅使用内置的WordPress功能星形图标开关立即使用 ajax 将帖子保存为置顶状态可选地,将帖子的所有翻译设置为置顶,支持 Polylang 和 MultilingualPress如何在...如果是新手,可参考(图文)安装WordPress插件3种方法  2、激活,可以从WordPress仪表盘转到” 设置 “->” Sticky Posts-Switch “。...Sticky Posts Switch插件教程WordPress中为分类添加置顶文章  此外还可以选择在主页、帖子存档页面或分类页面(类别和标签)上显示粘性帖子的位置。

5.5K20

Interection Observer如何观察变化

完成所有这些计算,就像观察者一样,将数据存储在条目数组中。然后,在两者之间删除和应用的功能完全相同。另外我使用了requestAnimationFrame对滚动事件进行了节流处理。...粘性节点的样式只能是一种设计,无论是处于其正常状态还是处于其粘性状态内。没办法让js知道这些变化。到目前为止,还没有伪或js事件使我们知道元素的状态变化。...在此demo中,上下滚动以查看章节标题对各自章节的粘性反应。 demo3[4] 这个示例检测粘性元素何时位于滚动容器顶部,然后给其添加一个css。...该解决方案通过识别粘性元素始终位于根元素顶部的“粘性”位置来利用这一优势。随着滚动的继续,粘性元素最终移出视野,并且相交停止。因此,我们根据输入对象的isIntersecting属性添加和删除。...该div将被设置为粘性元素并充当容器。用于根据粘性状态设置样式和更改元素的元素是class为sticky-content的div及其子元素。

2.5K20

jQuery - 获取并设置 CSS

我们将学习下面这些: addClass() - 向被选元素添加一个或多个 removeClass() - 从被选元素删除一个或多个 toggleClass() - 对被选元素进行添加/删除的切换操作...当然,在添加时,您也可以选取多个元素: 实例 $("button").click(function(){ $("h1,h2,p").addClass("blue"); $("div").addClass...("important"); }); 您也可以在 addClass() 方法中规定多个: 实例 $("button").click(function(){ $("body div:first")....addClass("important blue"); }); jQuery removeClass() 方法 下面的例子演示如何在不同的元素中删除指定的 class 属性: 实例 $("button"...该方法对被选元素进行添加/删除的切换操作: 实例 $("button").click(function(){ $("h1,h2,p").toggleClass("blue"); });

2.2K30

HarmonyOS学习路之开发篇——公共事件与通知(一)

通知提供应用的即时消息或通信消息,用户可以直接删除或点击通知触发进一步的操作。...基础之间的关系如下图所示: 图1 公共事件基础关系图 CommonEventData CommonEventData封装公共事件相关信息。用于在发布、分发和接收时处理数据。...粘性公共事件:指公共事件的订阅动作是在公共事件发布之后进行,订阅者也能收到的公共事件类型。主要场景是由公共事件服务记录某些系统状态,蓝牙、WLAN、充电等事件和状态。...invocation."); } 3、针对在onReceiveEvent中不能执行耗时操作的限制,可以使用CommonEventSubscriber的goAsyncCommonEvent()来实现异步操作,函数返回仍保持该公共事件活跃...,且执行完成必须调用AsyncCommonEventResult .finishCommonEvent()来结束。

51430

🤔听说这个动效可以玩一天?

滑块动效 静态页面倒是写完了,但这并不是在下的目标,在下的目标是希望它动起来,标题一样「玩一整天的丝滑」。...这样点击,滑块就会自己滑来滑去啦! 3. 按钮动效 那,滑块都自己动起来了,你按钮不得自己动? 自己动? 动? 懂了!直接在点击里修改每个按钮的名不就行了?... 按钮1 按钮2 /* 按钮选中缩放动画...所以在下的处理方式是在点击给添加名的代码添加一个定时器,有无更好的方法麻烦告知在下。 文字的缩放和在下的小细节,能看出来吗? 4. 容器动效 又凑了这么多字了,工作量嘎嘎上去了.........就是这个Y轴旋转量的问题,在下前面也提到了,解决方法就是需要动态修改css转换的原点

87210

Web前端学习 第2章 网页重构9 css定位

经常会发现网页中的元素重叠展示,例如一个列表压在了一张图片之上,或者浏览器右下角突然弹出的广告压到了其他元素之上,这些都需要使用css的定位才能实现,本节我们就讲解css定位相关的属性,定位可以分为三:...原点在整个网页左上角的位置。 定位的坐标分别是top:50px;left:50px;这个值是元素左上角距离原定的距离。...原点在其占位位置的左上角。 定位的坐标分别是top:50px;left:50px;这个值是元素左上角距离原定的距离。...将父级元素设置定位元素,那么子级元素定位的坐标原点会设置为父级元素左上角的位置。代码如下所示。...三、课后练习 完成融职教育右侧返回顶部的悬浮效果。 制作一个在图片上显示图标描述文字的效果,并且图片再网页右下角显示。 制作一个标题效果,让标题左右两边各带一个横线(使用伪元素和定位来实现)。

49230

36 个JS 面试题为你助力金九银十(面试必读)

JS 中的主要有哪几类错误 JS有三的错误: 加载时错误:加载web页面时出现的错误(语法错误)称为加载时错误,它会动态生成错误。 运行时错误:由于滥用HTML语言中的命令而导致的错误。...10.如何在JS中动态添加/删除对象的属性?...promise 可以有三种状态: pending:初始状态,既不是成功也不是失败 fulfilled:意味着操作完全成功 rejected:意味着操作失败 一个等待状态的promise对象能够成功返回一个值...1、对于string,number等基础类型,==和===有区别 1)不同类型间比较,==之比较“转化成同一的值”看“值”是否相等,===如果类型不同,其结果就是不等。...如何在JS中编码和解码 URL encodeURI() 函数用于在JS中对URL进行编码。它将url字符串作为参数并返回编码的字符串。 注意: encodeURI()不会编码类似这样字符: / ?

7.2K30

2021前端面试高频 HTML + CSS

❝ 单冒号 : 用于 CSS3 伪选择器中 双冒号 : 用于 CSS3 伪元素选择器中 伪选择器 是用来向元素添加特殊效果的,用伪定义的样式并不是作用在标记上,而是作用在标记的状态上,a标签的:...选择正在活动链接 :hover a:hover 把鼠标放在链接上的状态 关于 form 表单的伪选择器 选择器 示例 示例说明 :focus input:focus 选择元素输入具有焦点 :enabled...当使用:top: 50%;left: 50%;, 是以左上角为原点,故不处于中心位置 translate(-50%,-50%) 作用是,往上(x轴),左(y轴)移动自身长宽的 50%,以使其居于中心位置...❞ sticky 粘性定位 ❝元素根据正常文档流进行定位,然后相对它的最近滚动祖先 和 最近块级祖先 。...当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸. . em的值并不是固定的; . em会继承父级元素的字体大小。

90340
领券