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

JS实现获取鼠标在画布中的位置

JS实现获取鼠标在画布中的位置 效果展示 概述 本文讲解如何实现我们平时用的画布软件中,怎么获取的我们鼠标时刻在画布中的位置。...// 首先得到鼠标在页面中的坐标( e.pageX, e.pageY) // 其次得到盒子在页面中的距离(box.offsetLeft, box.offsetTop) /.../ 用鼠标距离页面的坐标减去盒子在页面中的距离, 得到 鼠标在盒子内的坐标 // 我们生活中常见的画布里面的那个获取鼠标的位置 就是这么实现的 var box = document.querySelector...// 首先得到鼠标在页面中的坐标( e.pageX, e.pageY) // 其次得到盒子在页面中的距离(box.offsetLeft, box.offsetTop) /.../ 用鼠标距离页面的坐标减去盒子在页面中的距离, 得到 鼠标在盒子内的坐标 // 我们生活中常见的画布里面的那个获取鼠标的位置 就是这么实现的 var box = document.querySelector

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

    getBoundingClientRect方法获取元素在页面中的相对位置

    获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成“回溯”。...2.在IE8及以下的浏览器中,返回值对象包含的属性值有: top::元素上边缘距离文档顶部的距离; right: 元素右边缘距离文档左边的距离; bottom:元素下边缘距离文档顶部的距离; left:...元素左边缘距离文档左边的距离; 3.在IE9以上、谷歌、火狐等浏览器中,返回值对象包含的属性值有: top: 元素上边缘距离文档顶部的距离; right:元素右边缘距离文档左边的距离; bottom:元素下边缘距离文档顶部的距离...; left:元素左边缘距离文档左边的距离; width:元素的宽度(包含 padding 和 border) height:元素的高度(包含 padding 和 border) 4.在IE8及以下浏览器没有...width 和 height 属性的解决方法: 在IE8及以下浏览器中,可以通过计算得到元素的宽和高: 如: var dom = document.querySelector("#demo"), r

    3.9K20

    VBA:获取指定数值在指定一维数组中的位置

    文章背景:在采用VBA抓取数据时,有时需要判断指定数值是否在一维数组中已存在;如果存在,则希望能够获取该数值在数组内的位置。...在实践过程中发现,VBA的filter函数无法完全匹配指定数值;而借助Excel的match函数,可以实现完全匹配。接下来分别对Filter函数和Match函数进行介绍。...Filter 函数 根据指定的筛选准则,传回包含字串阵列子集的以零为基础的阵列。...默认采用的是vbBinaryCompare选项。 应用示例: 判断某字符串是否在一维数组内存在。 由上图可以看出,采用Filter函数匹配到的是包含A-1的所有元素。...而在实际案例中,可能希望只获得完全匹配的元素。 WorksheetFunction.Match 方法 傳回項目在陣列中的相對位置,其符合指定順序中的指定值。

    7.3K30

    微信公众号菜单点击发送天气预报

    本文介绍如何为公众号添加一个菜单点击后给用户发送天气预报的功能 上一次介绍了如何为公众号添加关注自动回复的功能,这次我们来扩展一个比较实用的功能--天气查询 # 程序思路 用户进入公众号会话,上传经纬度信息...,服务器进行缓存 用户点击菜单后,服务端获取相应菜单的点击事件并调用接口将缓存中的用户经纬度信息进行逆地址解析为城市名称 根据城市名称调用天气API获取即时天气数据并返回xml数据 # 开发准备 注册百度地图开放平台...,新建服务端应用,获取百度AK ?...注册天气API,获取免费实况天气接口的appid及appsecret 确认在微信公众号管理后台开启了获取用户地理位置接口权限 # 关键代码 app.js const getRawBody = require...# 参考资料 koa2实现微信公众号关注自动回复消息 获取用户地理位置 百度地图开放平台 免费实况天气接口

    2K40

    【react-dnd使用总结一】拖放完成后获取放置元素在drop容器中的相对位置

    工具函数-根据元素的起始位置和最终位置,计算相对于某元素的位置 export interface IPosition { left: number; top: number; } /** *...根据元素的其实位置和最终位置,计算相对于某元素的位置 * @param initialPosition 拖动元素相对于屏幕左上角的起始位置(偏移量) * @param finalPosition 拖放完成后当前节点相对于屏幕左上角的位置...initialPosition: any, finalPosition: any, containerEle: HTMLDivElement, ): IPosition => { // 获取容器的位置信息...finalX) - dropTargetPosition.left; return { left: newXposition, top: newYposition, }; }; 在drop...回调函数中 drop(target: any, monitor: DropTargetMonitor) { console.log(target, monitor); const position

    4.3K10

    开发 | 什么?他用 2 小时做出了一个「简版大众点评」小程序

    没错,说的就是你。 我只想说一句,请别捉急,且听小羊娓娓道来。 功能介绍 你们的假期结束了,小羊刚好积攒了 10 天的年假。 可以在人生的种种事务中抽离出来,趴在车窗外看沿途的风光,倾听内心的音乐。...实时天气 我希望,当我需要选择在雨天出行,倾听下雨的声音时,它可以为我播报天气,于是设计获取当前位置的温度、天气、湿度、风力和风向等实时天气功能。 ?...知晓云提供了专为地理位置操作相关的 Geo 类型字段,为原始数据添加 Geo 类型字段可以调用知晓云相关的地理位置 API ,快速实现需求。 添加 geo 类型字段的大致思路就是: ?...这里重点介绍一下地点列表展示页的实现,简洁地讲一下路径规划页和实时天气页。 1. 地点列表展示页 地点列表展示页主要涉及的是根据用户当前地理位置由近及远的获取地点数据及其距离的计算问题。 ?...对于根据用户当前地理位置由近及远的获取地点数据,知晓云提供一个 withinRegion 接口可以较好的满足开发需求: ?

    65140

    html5 离线存储 地理信息与本地存储

    先写 : CACHE MANIFEST   FALLBACK : 第一个网络地址没获取到,就走第二个缓存的   NETWORK :无论缓存中存在与否,均从网络获取 web Workers...importScripts方法   内容编辑     contenteditable = "true"   语言输入      地理位置对象...      1 : 用户拒绝浏览器获取位置信息       2 : 尝试获取用户信息,但失败了       3 : 设置了timeout值,获取位置超时了     数据收集...: json的形式       enableHighAcuracy : 更精确的查找,默认false       timeout : 获取位置允许最长时间,默认infinity       ...数据是不共享、 localStorage共享   Storage API     setItem():       设置数据,key\value类型,类型都是字符串可以用获取属性的形式操作

    1.8K90

    如果被耗时任务拖累,可能是姿势不对

    在我们的业务中,我们有个新上线的业务,进入页面A之后,需要根据用户的地理位置(可以用缓存)去跳转到新业务页面B(灰度)或者继续渲染页面A。 ?...伪代码实现 使用伪代码表示如下: // 调用手Q接口获取当前用户的地理位置,data中包含了经度和纬度 getLocation(function(data){ // 调用CGI接口,获得当前的城市信息...客户端的 getLocation 接口去获取用户当前地理位置,其实是非常耗时的操作。...existCity) { // 调用手Q接口获取当前用户的地理位置,data中包含了经度和纬度 getLocation(function(data) { // 调用CGI...回到我们说的场景,似乎也可以提前发一个版本,在这个版本中,增加一个小功能,就是在用户正常打开页面之后,再私下去获取到用户的位置,并放入到本地 localStorage 中缓存结果。

    81910

    如果被耗时任务拖累,可能是姿势不对

    在我们的业务中,我们有个新上线的业务,进入页面A之后,需要根据用户的地理位置(可以用缓存)去跳转到新业务页面B(灰度)或者继续渲染页面A。 ?...伪代码实现 使用伪代码表示如下: // 调用手Q接口获取当前用户的地理位置,data中包含了经度和纬度 getLocation(function(data){ // 调用CGI接口,获得当前的城市信息...客户端的 getLocation 接口去获取用户当前地理位置,其实是非常耗时的操作。...existCity) { // 调用手Q接口获取当前用户的地理位置,data中包含了经度和纬度 getLocation(function(data) { // 调用CGI...回到我们说的场景,似乎也可以提前发一个版本,在这个版本中,增加一个小功能,就是在用户正常打开页面之后,再私下去获取到用户的位置,并放入到本地 localStorage 中缓存结果。

    842100

    你的第一个渐进式网站应用(5)

    从一个快速的首次加载开始 渐进式网站应用会很快启动并马上可用。在目前的状态中(step-04),我们的天气app启动很快,但是不可用。因为还木有数据。...我们要使用一个AJAX请求去获取数据,但是这会导致一个额外的请求,并使初始加载时间更长。但仍然要在第一次加载时提供真实的数据。...注入天气预报数据 对于这个代码实验室,我们将模拟服务器将天气预报直接注入到JavaScript中,但在生产应用程序的过程中,最新的天气预报数据将由服务器根据用户的IP地址地理位置注入。...为了尽可能简化这个代码实验,我们使用了 localStorage, 这对生产应用程序来说并不理想,因为它是一个阻塞的同步存储机制,在某些设备上可能非常慢。...额外的提示: 利用idb替换localStorage 来实现, 确保localForage做为idb的一个简单包装。

    67030

    H5C3第五节

    gt :就是Greater than的简写,也就是大于的意思。 用法实例: 在小于等于 IE 8 的浏览器中才会执行, 在IE9 中, 就是普通的注释, 不会解析执行 在HTML规范中,增加了获取用户地理信息的API,这样使得我们可以基于用户位置开发互联网应用,即基于位置服务LBS(Location Base Service) 隐私 HTML5规范提供了一套保护用户隐私的机制...必须先得到用户明确许可,才能获取用户的位置信息。 在获取地理位置之前,会询问用户,只有在获得许可之后,才能获取到用户的位置信息。...相关的方法 //successCallback:获取成功后会调用,并返回一个position对象,里面包含了地理位置信息 //获取失败了会调用,并返回error对象,里面包含了错误信息。...//获取当前的地理位置信息 navigator.geolocation.getCurrentPosition(successCallback, errorCallback) //重复的获取当前的地理位置信息

    70210

    记录一下因 localStorage 引发的故障

    image.png 分析原因 由于我们无法复现客户的现象,所以联系业务部门上 zoom 投屏给我们看,后来定位到是获取语言时报的错。...image.png 语言是存储在 localStorage 里的,然后让用户操作查看了用户的 localStorage,如下: image.png 用户的电脑上存的是 EN-US 然后我们查看我们自己的电脑...,可以看到 lang 字段是按照 json 格式存储的 image.png 推测用户是在别的网站登录过,别的网站用来控制语言的字段正好和我们网站是同一个,取名都为 lang ,所以在获取时获取不到。...继续分析后,发现程序中引用的 localStorage.js 有点问题,在存储 localStorage 时,会先将其删除,而删除是删除json格式的,用户存储的是 EN-US,非 json 格式,删除失败...解决办法 因为 localStorage.js 是公共的 js,担心大改会引发别的问题,最后决定是对 lang 字段进行特殊处理,如果删除报错,还是在 catch 里面继续进行往后的操作,插入新的 localStorage

    40110

    web缓存介绍

    在此过程中全局负载均衡 DNS 解析服务器会将用户的访问请求定位到离用户最近、负载最轻的 CDN 缓存服务器上。...这种技术也被称为“DNS 重定向”,DNS 服务器不是为每个请求返回相同的 IP 地址,比如在悉尼的一个客户请求解析 www.dns.com ,DNS 服务器根据地理位置,计算出距离这个用户最近的cdn...在同一个会话过程中会检查缓存的副本是否是最近的,当点击后退或刷新时,访问过的资源可以从浏览器缓存中拿出使用。通过减少服务器处理请求的数量,用户将获得更快的体验。...数据缓存指的是localStorage或者是sessionStorage、cookie等。 下面重点说一下使用web端最多的浏览器缓存。我们可以通过header来控制浏览器的缓存。...于是在30天内都会使用这个版本的资源,即使服务器上的资源发生了变化,浏览器也不会得到通知。

    1.1K30

    Flutter 多端天气预报APP第二弹 —— 城市定位以及城市代码的转换

    前言在前一篇博客中,我们介绍了如何使用Flutter创建一个简单的天气预报应用程序。在这篇博客中,我们将进一步完善我们的应用,添加城市定位功能以及将地理位置转换为城市代码的功能。...获取当前位置在获取当前位置的过程中,我们使用了Flutter的Geolocator库。这个库不仅仅可以获取设备的经纬度,还能提供更多有关设备位置的信息。例如,我们可以获取设备的海拔高度、速度、方向等。...在实际应用中,根据需求可以灵活运用这些功能,比如实现高度相关的气象应用或运动追踪应用等。下面是获取当前位置的代码: Future在本博客中,我们详细介绍了如何使用Geolocator库获取设备当前位置,以及如何将地理位置转换为城市代码。这些功能不仅提升了用户体验,还使得我们的应用更具实用性。...在下一篇博客中,我们将探讨在Android应用中可能涉及的权限问题,以及如何处理这些权限。后面,可能还会考虑一些实际应用,比如频繁地请求同一位置的天气信息可能是不必要的。

    39521

    开源分享-高仿微信

    TLChat 项目介绍 一个高仿微信的开源项目,IOSAppTemplate代码重构,基于TLKit,ZZFLEX实现。...清空聊天记录 聊天界面 聊天输入框 消息展示视图 文字消息 图片消息 表情消息 语音消息 聊天键盘 表情键盘(动态增删表情包) 更多键盘 聊天记录存储(DB) 计划中的功能 聊天界面:视频消息...聊天界面:地理位置消息 好友圈:CoreText实现好友点赞、回复功能 聊天模块抽离 第三方库 Masonry:自动布局框架,简洁高效 FMDB:sqlite数据库管理框架 AFNetworking:网络请求...SDWebImage:网络图片下载、缓存 MJExtension:JSON - Model互转框架,高效低耦合 MJRefresh:下拉刷新,上拉加载更多,继承简单 CocoaLumberjack:日志分级...最后 该项目目前已经开源,作者也在对未完成的功能进行开发,后续包括视频消息,地理位置,点赞回复,聊天模块抽离等。 如果你觉得项目不错,自己有能力的话也可以贡献自己的力量。 如何获取?

    3.3K30

    开源分享-高仿微信

    清空聊天记录 聊天界面 聊天输入框 消息展示视图 文字消息 图片消息 表情消息 语音消息 聊天键盘 表情键盘(动态增删表情包) 更多键盘 聊天记录存储(DB) 计划中的功能 聊天界面:视频消息 聊天界面...:地理位置消息 好友圈:CoreText实现好友点赞、回复功能 聊天模块抽离 第三方库 Masonry:自动布局框架,简洁高效 FMDB:sqlite数据库管理框架 AFNetworking:网络请求...SDWebImage:网络图片下载、缓存 MJExtension:JSON - Model互转框架,高效低耦合 MJRefresh:下拉刷新,上拉加载更多,继承简单 CocoaLumberjack:日志分级...,后续包括视频消息,地理位置,点赞回复,聊天模块抽离等。...如果你觉得项目不错,自己有能力的话也可以贡献自己的力量。 如何获取 GIthub地址:https://github.com/ShaoxiongDu/TLChat

    2.5K00

    HTML5缓存和GPS定位

    在html5中提供了两种在客户端存储数据的新方法localStorage和sessionStorage ,并且html5还支持内嵌在浏览器中的WebSQL数据库,下面就介绍一下这三种存储数据的使用方式。...运行结果,在浏览器中打开开发者工具,可以看到创建好的数据库和表格: ?...这就是如何使用html5中的应用缓存的简单介绍。 GPS定位 在html5中有一个Geolocation API,这个API用于通过GPS获得用户的地理位置,也就是俗称的GPS定位。...需要通过getCurrentPosition() 方法来获得用户的位置,这个方法有两个参数,第一个用于执行获得地理位置的代码,第二个参数用来处理错误。它规定当获取用户位置失败时运行的函数。...运行结果: 浏览器会询问是否允许定位,点击不允许的话会抛出一个错误对象,然后执行错误处理函数进行相应的处理: ? 如果获取地理位置的过程出错了,也会执行错误处理函数,打印出相应的错误类型: ?

    2.4K20
    领券