【leetcode】278.第一个错误版本 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version ...
【leetcode】28.找出字符串中第一个匹配项的下标 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 1234567891011示例 1:输入:haystack = "sadbutsad", needle =...
【CSS】自定义光标样式 123456789101112<style> .cursor { width: 50px; height: 50px; background-color: blue; } // 鼠标浮动到元素上时,会显示图片,如果图片不存在,将会使用auto .cursor:hover { cursor: url(...
【功能模块】元素的拖拽变形 对页面元素的拖拽变形最常见的对元素进行拖拽变形,主要是在需要变形的元素的四角上添加四个白色方块,通过监听这四个白色方块的移动事件,实现对元素的变形,主要是修改元素的width与height 过程拆解 为元素添加鼠标移动监听事件,监听鼠标相对于元素的移动距离 根据移动位置的不同修改元素的大小与定位 左上角移动:修改元素width、height、width、top 右上角移动...
【功能模块】将元素拖拽到画布上 功能描述点击已有元素,复制其本身,然后将其拖拽到画布上 功能拆解 鼠标点击后克隆点击的元素,生成拖拽元素(dragEl) 将dragEl添加当前页面中,并定位到鼠标位置 监听鼠标点击后的移动,通过修改dragEl的top与left值实现dragEl的随鼠标移动效果 监听鼠标的移动范围,如果超出画布区域松开鼠标,则将dragEl移除 为dragEl添加mousedown和m...
【功能模块】点击元素生成可拖拽元素 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364<head> <style> .square { width: 50px; ...
【SVG】生成多边形 12345678910111213141516171819202122232425262728293031323334353637const getSin = (deg) => { return Math.sin(deg * Math.PI / 180)}const getCos = (deg) => { return Mat...
【SVG】复用图像元素 12345678910111213```html<svg width="200" height="200" viewBox="-15 -15 30 30"> <circle fill="#e5c39c" r...
【npm】npm安装canvas失败 canvas的安装过程npm下载在仓库中的canvas包执行canvas的package.json中的install命令(node-pre-gyp install –fallback-to-build)node-pre-gyp下载canvas已编译好的 macOS、Linux 和 Windows 的二进制文件,如果预构建的二进制文件不存在或不可用,则回退到从源代码构建no...
【研发手记】JSON数据的网页编辑 why?公司大模型需要添加PPT生成功能,大模型生成的JSON数据需要可编辑,再将编辑后的数据与模版进行渲染。 How?方案一:在页面上直接放个文本框,在失去焦点后,更新需要去渲染的数据结果:不行,可编辑性太高,用户可能会破坏数据的结构性方案二:将JSON数据渲染为树状图,用户只能对树状图进行部分操作,树状图的改变将会同步到JSON数据上结果:采用,但开发周期太长 功能分...