探索用户交互设计与实现,拆解交互逻辑、动效技巧与体验优化,打造直观流畅的产品交互体验。
-
JavaScript数组shift方法的核心用法 最近项目里频繁用到数组的shift方法,虽然看似简单,但用起来还是有些门道的。直接看代码吧: shift()方法会移除数组的第一个元素,并返回该元素的...
-
我的写法,亲测靠谱 说实话,drop事件我用得不算多,但每次用都踩坑。后来我发现问题出在我没理解drag和drop的完整流程。很多人光听别人说"阻止默认行为",但不知道为什么要阻止,默认行为到底是什么...
-
我的MSE写法,亲测靠谱 搞了几年MSE,从最初看MDN文档一脸懵逼到现在能熟练使用,中间踩了不少坑。我一般这样处理MSE流媒体播放: class MSEPlayer { constructor(vi...
-
我的写法,亲测靠谱 FormData 这玩意儿,说简单也简单,说复杂也复杂。我之前做文件上传功能的时候,被它折腾得够呛,后来慢慢摸清了一些门道。 最开始我喜欢这么写: const formData =...
-
Cursor定制的核心玩法,我是这样玩的 最近在做项目的时候,突然发现光标样式其实是个挺重要的用户体验点。以前就是简单的pointer和text,现在想想还是太嫩了。经过几个项目的折腾,我总结了一套比...
-
消息确认机制踩坑记 今天搞消息确认功能又折腾了半天,说起来这个需求其实挺简单的,就是用户发消息后要确保对方收到了,然后显示一个已读的小图标。但真正做起来才发现坑不少,特别是网络不稳定的时候,各种边界情...
-
优化前:卡得不行 之前做个项目,有个模糊搜索功能,数据量大概5000条左右。用户输入一个字符,就开始遍历整个数组匹配,结果就是输几个字母,页面直接卡死几秒钟。Chrome DevTools 显示 JS...
-
cesium加载地形服务各种报错问题记录 今天又被cesium的地形服务整得头疼,本来以为就是简单接入个地形服务,结果各种奇奇怪怪的问题都出来了。主要是客户要求要在3D场景里展示真实的地形高度,这样建...
-
几个方案选下来,还是Intersection Observer最好用 最近做了一个长列表项目,需要无限滚动加载数据。之前零零散散用过几种方案,这次正好系统对比一下。说实话,对比下来我更倾向于用Inte...
-
先来个简单的数据对比工具类 最近项目里经常需要做数据对比,特别是用户修改配置后的差异展示,之前都是手动写一堆判断逻辑,太麻烦了。今天把我封装的一个数据对比工具类分享出来,亲测有效。 class Dat...
-
需求来了,编辑器需要撤销重做功能 上周接了个需求,要做一个在线编辑器,产品经理提了个很常见的功能:Ctrl+Z撤销,Ctrl+Y重做。当时想这不挺简单的吗,结果真正开始做的时候发现没那么简单。 最开始...
-
XMLHttpRequest超时处理又出问题了 昨天在项目里碰到一个诡异的问题,XMLHttpRequest请求有时候会卡住很久才报错,用户体验特别差。本来以为是个简单的timeout设置,结果折腾了...
-
RecyclerView不同方案对比,我踩过不少坑 最近项目重构,重新梳理了一下RecyclerView相关的技术方案。说实话,Android端的列表组件选择真的不少,每种都有各自的特点。今天就把我常...
-
为什么要做这次对比? 最近重构一个数据可视化项目,之前用的Chart.js,但产品那边提需求说要更好的交互效果,特别是拖拽筛选、区域缩放这些高级功能。我琢磨着要不要换个图表库,于是就把市面上主流的几个...
-
项目初期的技术选型 最近做了一个实时监控系统,需要保持客户端和服务端的长连接状态。之前都是用轮询的方式,但项目数据量比较大,轮询的性能消耗实在太大了。产品经理还一直在催着要实时性更好的方案,没办法,只...
-
又踩坑了,touchmove滚动失效 最近在做一个移动端的手势滑动功能,本来以为touchmove这种老生常谈的东西没什么好纠结的,结果一动手才发现,不同的处理方案差别还挺大。主要是页面里有滚动区域,...
-
核心代码就这几行 做快捷键提示这个功能,说白了就是监听键盘事件,然后在界面上显示对应的提示信息。我之前做过好几个项目都需要这个,每次都是重新写一遍,这次干脆整理成一个通用组件来分享。 先看最简单的实现...
-
线性进度条,看似简单其实挺烦人 最近项目里有个上传进度显示的需求,本来以为就是个简单的线性进度条,结果折腾了一下午,各种细节问题层出不穷。现在想想还是挺有意思的,记录一下整个踩坑过程。 最开始的想法太...
-
优化前:卡得不行 搞Slate编辑器性能优化这事儿,真的是被逼出来的。之前做的那个富文本编辑器项目,用着现成的Slate,结果用户一多就开始各种卡顿。长文档编辑的时候,打字都感觉有延迟,滚动更是卡得想...
-
Mapbox技术栈选型对比:我踩过的那些坑 最近几个项目都用到了地图相关的功能,主要是围绕Mapbox的各种方案选型。说实话,Mapbox生态圈确实挺复杂的,光是官方就提供了好几种不同的SDK和方案,...