小程序scroll-into-view实现分类页锚点滚动与双向联动
在做点餐小程序的时候左侧分类、右侧内容滚动的布局让我纠结了好一阵。这类页面本质上是给一大串内容加一套目录索引用户点右边某个分类左边内容区域就跳到对应区块。我当时第一反应是用wx.pageScrollTo配合boundingClientRect手动计算位置后来研究了一下发现scroll-view自带的scroll-into-view属性才是专门为这种锚点效果准备的代码量直接少了一大半。这篇文章就围绕scroll-into-view展开讲清楚它的工作原理、完整用法以及双向联动、常见坑点和大数据量下的性能优化。适合正在做分类页、菜单页、索引列表或者对滚动容器内锚点跳转需求不熟的同学看完可以直接照着写进自己的项目。1. 先说清楚需求锚点滚动到底解决的是什么问题1.1 我为什么要用 scroll-into-view 而不是其他方案先还原一下典型场景。一个商城的分类页页面顶部是搜索框下面分成两块左边是分类列表右边是当前分类对应的商品区域。这个页面里真正需要滚动的部分只有右侧内容区左侧分类栏应该保持稳定不让用户翻半天找不到导航。这种局部滚动的页面有几种实现锚点的方式用wx.pageScrollTo监听点击事件通过createSelectorQuery拿到目标元素的offsetTop再调用wx.pageScrollTo滚到对应位置。这套方案的缺点是你得自己处理各种偏移计算而且它只能滚整个页面没法针对某个滚动容器内部的子节点做定位。用a标签锚点微信小程序没有传统网页那种href#id的锚点机制这条路直接堵死。用scroll-viewscroll-into-view给scroll-view里的每个区块设置一个id需要跳转时把scroll-into-view属性设置为该id滚动容器就会自动把对应区块滚到可视区域顶部。声明式写法几乎不需要手算位置。对比下来第三种方案语义最清晰代码最少而且天然适配局部滚动结构。如果页面本来就要用scroll-view来固定滚动区域那用scroll-into-view做锚点是最顺手的选择。1.2 scroll-into-view 的工作机制scroll-into-view是scroll-view组件的一个属性值为某个子元素的id。官方文档里明确写了id 不能以数字开头。设置之后scroll-view会调整自己的滚动位置让这个子元素的顶部对齐滚动容器的顶部也就是相当于执行了一次锚点定位。它和scroll-top是什么关系scroll-top是告诉滚动容器把滚动条滚到距离顶部多少像素的位置这是一种精确到像素的控制方式。scroll-into-view是告诉滚动容器找到某个元素并把它带到视野里来是一种面向语义的控制方式。两者的区别类似打车时如果说去某某路100号是按门牌号找如果说去那家蓝色招牌的咖啡店是按特征找。内容位置在运行期发生动态变化时scroll-into-view依然能定位到那个元素而scroll-top就得重新算像素值。另外scroll-into-view配合scroll-with-animation属性使用可以让滚动过程有平滑过渡动画。scroll-with-animation的本质是控制滚动动画开关默认值为false不设置的话定位是瞬间完成的体感会有点生硬。这里要提前打一个预防针scroll-into-view并不是万能的。如果目标元素在渲染树里根本不存在或者scroll-view本身没有确定的高度约束页面就会表现成点了没反应或者滚动容器不滚动。这些坑后面我会单独用一个章节展开讲。2. 搭建一个能直接跑的分类锚点页2.1 数据结构设计以点餐菜单页为例先定义数据结构。左侧分类列表和右侧内容区共用一份categories每个分类对象里包含分类名、分类下的菜品列表和一个稳定的id。Page({ data: { categories: [ { id: cate-hot, name: 热销, items: [ { name: 招牌鸡翅, price: 28, image: }, { name: 香辣虾尾, price: 46, image: } ] }, { id: cate-rice, name: 主食, items: [ { name: 腊味煲仔饭, price: 32, image: }, { name: 虾仁炒饭, price: 26, image: } ] }, { id: cate-snack, name: 小吃, items: [ { name: 炸鲜奶, price: 18, image: }, { name: 薯条, price: 12, image: } ] } ], currentCategory: 0, scrollIntoViewId: } })id建议用cate-hot这样的可读前缀尽量不要用纯数字。原因有两个一是官方明确提醒 id 不能以数字开头避免在部分机型上解析出问题二是带前缀的 id 在真机调试和selectorQuery选择器里更容易辨识不会和页面其他元素的 id 撞车。2.2 wxml 结构两个 scroll-view 协同工作布局上我用两个scroll-view左侧分类栏一个右侧内容区一个。右侧内容的每个区块通过id{{item.id}}挂上锚点。view classmenu-page scroll-view classcategory-sidebar scroll-y view wx:for{{categories}} wx:keyid classcategory-item {{currentCategory index ? active : }} >.menu-page { display: flex; height: 100vh; overflow: hidden; } .category-sidebar { width: 180rpx; height: 100%; background: #f7f7f7; } .content-scroll { flex: 1; height: 100%; }把.menu-page的高度设置成100vh左右两列各占其内右侧scroll-view通过flex: 1和height: 100%撑满剩余高度。这里overflow: hidden是为了防止页面本身也出现滚动条避免出现页面滚了容器却没滚的割裂体感。如果你的页面顶部有自定义导航栏、搜索框底部有 tabBar建议把高度写成calc(100vh - 88rpx - 98rpx)这类带差值的表达式减去顶部和底部固定元素占用的高度。2.4 点击导航滚动到指定区块的 JS 实现点击左侧分类项时把对应的分类索引设为currentCategory用于高亮同时把该分类的 id 赋值给scrollIntoViewIdscroll-view收到这个属性变化后就会自动执行锚点定位。handleCategoryTap(e) { const index Number(e.currentTarget.dataset.index); const id this.data.categories[index].id; this.setData({ currentCategory: index, scrollIntoViewId: id }); }这一步跑通之后你已经实现了最基本的锚点效果。但实际项目里很快会遇到一个小问题点击同一个分类两次scroll-into-view的值没有变化scroll-view不会重新滚动。比如用户当前停在小吃区块又点了一下左侧小吃按钮此时数据里的scrollIntoViewId本来就等于cate-snacksetData 后会因为值没有变化而跳过更新页面纹丝不动。解决方案是在点击时判断 id 是否相同如果相同就先置空等渲染一轮后再恢复目标 id强制触发一次滚动定位。handleCategoryTap(e) { const index Number(e.currentTarget.dataset.index); const id this.data.categories[index].id; if (this.data.scrollIntoViewId id) { this.setData({ scrollIntoViewId: }, () { setTimeout(() { this.setData({ scrollIntoViewId: id }); }, 50); }); } else { this.setData({ currentCategory: index, scrollIntoViewId: id }); } }注意这个50ms是经验值主要目的是等第一轮渲染完成后再写入新的锚点 id。实测下来如果两个 setData 连续同步执行某些真机上依然有可能识别不了 id 变化加一个 setTimeout 把两次更新拆到不同渲染周期里稳定性会好很多。置空scrollIntoViewId本身不会引起滚动容器位置跳变可以放心用。3. 进阶联动右侧内容滚动时同步高亮当前分类3.1 监听 scroll 事件拿到 scrollTop点击左侧分类让右侧内容跟着滚这只是单向联动。真正的分类页用户还可能直接滑动右侧内容区这时候左侧分类高亮必须跟着当前可视区域变化否则用户滑到主食区块了左侧高亮还停在热销导航等于废了。实现思路是监听右侧scroll-view的bindscroll事件拿到event.detail.scrollTop然后判断这个滚动位置落在哪个区块的偏移范围内再更新currentCategory。handleContentScroll(e) { const scrollTop e.detail.scrollTop; this.updateCurrentCategory(scrollTop); }判断之前需要先拿到每个区块相对滚动容器顶部的偏移量。这个偏移量不是页面里的offsetTop而是区块顶部相对scroll-view容器顶部的位置差。用wx.createSelectorQuery可以批量获取refreshSectionOffsets() { const query wx.createSelectorQuery(); query.selectAll(.content-section).boundingClientRect(); query.select(.content-scroll).boundingClientRect(); query.exec((res) { const sectionRects res[0]; const containerRect res[1]; this.sectionOffsets sectionRects.map((rect) { return rect.top - containerRect.top; }); }); }拿到sectionOffsets数组后比如结果是[0, 320, 800, 1500]当scrollTop350时说明当前可视区域顶部已经越过了第一个区块的结束位置正在第二个区块内。判断逻辑可以写成从后往前找第一个偏移量小于等于当前scrollTop 容错值的区块。updateCurrentCategory(scrollTop) { if (!this.sectionOffsets || this.sectionOffsets.length 0) return; let index 0; const tolerance 10; for (let i 0; i this.sectionOffsets.length; i) { if (scrollTop this.sectionOffsets[i] - tolerance) { index i; } else { break; } } if (index ! this.data.currentCategory) { this.setData({ currentCategory: index }); } }容错值的意义在于区块顶部不会像素级对齐滚动容器顶部留出 10px 左右的余量防止用户刚好卡在两个区块边界上来回抖动。3.2 用户点击导航时不触发高亮闪跳双向联动做出来之后会出现一个很恼人的问题用户点击左侧小吃分类右侧内容刚滚到小吃区块此时scroll事件触发updateCurrentCategory先算出当前区块确实是小吃高亮不变这是理想情况。但滚动是有动画的在滚动动画进行的中间时刻scrollTop可能经过主食区块的偏移范围于是高亮先被临时更新成主食等动画结束后才被改回小吃。这个过程肉眼看起来就是左侧高亮在点击后闪了一下别的分类才稳定下来。解决办法是引入一个点击标记机制。用户点击左侧导航时记录最近一次点击的时间戳在scroll回调里判断如果距离点击时间太近就跳过高亮更新逻辑让动画走完后再恢复正常的滚动联动。handleCategoryTap(e) { const index Number(e.currentTarget.dataset.index); const id this.data.categories[index].id; this._lastCategoryTapTime Date.now(); // ... 后续 setData 逻辑 } handleContentScroll(e) { const now Date.now(); if (now - (this._lastCategoryTapTime || 0) 500) { return; } const scrollTop e.detail.scrollTop; this.updateCurrentCategory(scrollTop); }500ms 的时间窗口是我测试下来比较合适的值覆盖了大部分机型上滚动动画的执行时长。实测中如果滚动动画较长可以适当延长到 600ms太长了反而会影响用户滚动过程中的实时高亮响应需要平衡。3.3 滚动高亮更新要加节流bindscroll事件触发频率非常高手指在屏幕上滑动的时候一秒可以触发几十次。如果每次都在回调里setData小程序逻辑层和视图层的通信压力会骤增列表一长低端机掉帧是必然的。一个简单的节流方案是限制两次高亮更新之间的最小间隔比如 80ms 内只执行一次。handleContentScroll(e) { const now Date.now(); if (now - (this._lastCategoryTapTime || 0) 500) return; if (this._lastScrollUpdateTime now - this._lastScrollUpdateTime 80) return; this._lastScrollUpdateTime now; const scrollTop e.detail.scrollTop; this.updateCurrentCategory(scrollTop); }注意这里不能简单用防抖debounce因为防抖会把更新一直拖到用户停止滚动之后才执行滚动中间的高亮变化就完全失效了。节流是每隔一段时间至少执行一次的语义滚动过程中实时高亮的效果能保留下来。另外updateCurrentCategory内部还有一层index ! this.data.currentCategory的判断即使节流放行了事件也只有真正的区块切换才会触发setData相同高亮状态下不会产生无意义的渲染。4. 踩过的一堆坑帮你提前填平4.1 scroll-into-view 值无效的几种情况这个属性看起来简单实际踩坑点一点也不少。我把开发中遇到的点不动、不滚动、乱跳问题整理成一个表后面再挑重点展开现象常见原因点击左侧分类右侧完全不动scroll-view 没有固定高度无法产生内部滚动有滚动但定位不到目标区块目标区块的 id 不是 scroll-view 直接子节点的 id目标区块在切换后找不到区块使用了 wx:if 控制点击时节点还没渲染连续点击两次同一分类没反应scroll-into-view 值未变化未触发重新定位滚动动画偶发失效值被重置过短渲染周期内未完成更新真机上滚动跳变、找不到节点id 以数字开头或 id 包含特殊字符4.2 目标区块的高度会因为图片加载而变这是一个非常隐蔽的问题。拿点餐列表来说菜品图片一般由服务端返回image组件在图片还没加载完之前高度是 0 或者一个默认占位高度加载完成后才把容器撑高。如果你在页面onReady时立刻调用refreshSectionOffsets拿到的是图片未加载时的偏移量等用户操作时图片加载完了整个列表高度全变了之前算好的偏移全错位锚点定位偏差几十上百像素都有可能。我的习惯做法是给image组件设置一个预期高度比如商品图固定200rpx高这样图片在加载前后容器高度不会跳变sectionOffsets始终稳定。如果确实无法固定高度那就监听图片的bindload事件在图片加载完成后再调用一次refreshSectionOffsets刷新偏移缓存。4.3 目标区块上有吸顶元素时内容会被遮挡假设每个分类区块里有个吸顶的分类标题类似点餐页里正在热卖人气主食这种浮在内容顶部的条。scroll-into-view定位目标区块时会让区块的上边缘直接对齐滚动容器的上边缘。但吸顶标题用的是position: sticky或position: fixed它浮在内容上方可能正好把目标区块的顶部内容盖住。scroll-into-view没有提供对齐到容器下方偏移 N 像素的参数规避办法是在每个区块顶部预留一定的padding-top让区块顶部与真实内容之间留出吸顶元素的高度空隙。这样即使区块顶部被吸顶元素覆盖用户看到的依然是完整的分类标题而不是被截掉的菜品。4.4 模拟器正常、真机锚点失效的排查链路微信开发者工具里表现一切正常一上真机就出问题这种情况我遇到太多次了。scroll-into-view失效时不建议瞎试按下面这个顺序排查效率最高检查 scroll-view 高度。开发者工具里即使height没写满容器也可能因为某些默认样式而可滚动真机则严格按样式解析。优先给scroll-view一个明确的height或flex约束。检查 id 是否在渲染树上。在 wxml 里找到目标区块确认 id 确实存在于该scroll-view内部而不是被wx:if裁掉了。检查值是否发生变化。在scroll-into-view{{scrollIntoViewId}}上有个偷懒的调试技巧临时把值写死成一个静态 id比如scroll-into-viewcate-hot如果页面加载后能自动滚到对应区块说明属性本身没问题问题出在动态赋值或渲染时序上。检查基础库版本。新版组件对scroll-into-view有过一些底层调整如果项目里基础库版本过低建议升级到最新稳定版再测一次。5. 数据量大的时候性能优化与落地建议5.1 一次性渲染太多节点的成本锚点效果最大的隐藏问题在于scroll-view内部如果一次性渲染大量子节点初始渲染耗时和滚动帧率都会受影响。一个分类页可能有 30 个分类每个分类 20 个商品加起来就是 600 个节点还带图片这在小程序里已经不算轻量了。小程序页面的初始渲染性能瓶颈主要在两个地方一是 wxml 节点树过大导致首屏渲染变慢二是图片并发加载多导致内存上涨和滚动卡顿。针对图片image组件有一个非常实用的lazy-load属性加上它之后图片会等到滚动到可视区域附近才开始加载对长列表的滚动流畅度提升非常明显几乎是零成本的优化手段。image wx:for{{item.items}} wx:keyname src{{product.image}} lazy-load classproduct-image /5.2 按需渲染时要注意锚点节点必须存在如果列表内容多到连lazy-load都压不住就得考虑按需渲染只渲染当前分类附近的区块。思路是根据currentCategory计算渲染范围比如只渲染当前区块前一个和后一个其他区块用一个空占位替代。这个方案在普通列表场景里很好用但在锚点场景里有个硬性要求scroll-into-view的目标 id 必须出现在渲染树中。如果你把目标区块整体用wx:if裁掉了scroll-into-view传入了不存在的 id定位操作会直接失败。所以按需渲染时至少要保证点击目标区块的 id 是实际存在的节点常见的做法是除了渲染前后相邻区块外把当前点击的区块也强制加入渲染范围即使它不在可视区域内。或者用hidden代替wx:if前者只是隐藏节点节点本身依然在渲染树中不会影响scroll-into-view的定位。5.3 用最小化 setData 降低滚动卡顿前面提到的节流方案本质上是降低setData的执行频率。另一个思路是降低每次 setData 的数据量。handleContentScroll里setData的只有currentCategory一个字段其实已经算轻量了。但如果你把scrollTop、偏移数组、分类列表等大字段也放进 setData每次更新都会做一次全量 diff低端机直接卡成幻灯片。我的建议是和滚动位置相关的临时数据尽量存到this上而不是data里不要用 setData 去维护不需要参与渲染的数据。如果你对性能有更高要求可以试试用 WXS 来处理高亮计算。WXS 运行在视图层不经过逻辑层的 setData但它的写法比较绕而且 WXS 里没法直接访问所有 data 字段需要把区块偏移数组通过数据绑定传进去。实际项目中除非列表量大到明显掉帧否则先用节流加最小化 setData 方案就足够稳定了。5.4 超过阈值还是换虚拟列表吧最后说一句实在话。scroll-into-view这套方案最适合的场景是右侧内容区在几百个节点以内的分类页、菜单页。如果你的分类多达上百个、商品几千个一个scroll-view塞下全部节点锚点滚动做得再顺初始渲染时间也会让用户等得不耐烦。这时候更合理的方向是换用虚拟列表方案比如社区里的 recycle-view 之类只渲染可视区域内的节点滚动到接近底部时动态加载后续内容。但虚拟列表的滚动位置是高度抽象后的计算结果scroll-into-view基于 DOM 节点 id 的定位机制在虚拟列表里并不适用锚点跳转通常得改成计算目标区块的虚拟索引然后直接设置滚动偏移量这相当于回到最初手写位置计算的方案。所以我的判断是节点量小时用scroll-into-view省心省力节点量大到撑不住时与其在scroll-into-view上打补丁不如整体切换技术方案。工具没有好坏只有适合不适合。就我个人这几年的小程序开发经验来说在写任何滚动相关功能之前先把谁在滚、滚到哪里、滚完之后怎么保持状态想清楚后面能少踩一半的坑。scroll-into-view作为锚点实现方案在中小型内容量级的页面里是非常顺手的存在配合scroll-with-animation和节流高亮能在一个下午把双向联动的完整体验都跑通。最后分享一个实战小习惯写完锚点功能一定要把微信开发者工具切到真机调试跑一遍。开发工具里模拟器对滚动位置、id 匹配的容错度比真机高很多很多失效问题在模拟器上根本复现不出来。真机一跑问题全景就清晰了。

相关新闻

日万分之五和 LPR 四倍,中间差出来的这笔钱怎么算

日万分之五和 LPR 四倍,中间差出来的这笔钱怎么算

日万分之五和 LPR 四倍,中间差出来的这笔钱怎么算 先给结论:日万分之五看起来很小,摊到一年是单利百分之十八点二五;而司法保护的上限参照的是合同成立时一年期贷款市场报价利率的四倍,这条线跟着 LPR 走,不…

2026/10/4 2:00:41 阅读更多 →
TensorRT部署SAM分割模型:C++实现ONNX转engine与动态shape避坑指南

TensorRT部署SAM分割模型:C++实现ONNX转engine与动态shape避坑指南

简介:使用TensorRT部署SAM分割一切大模型的完整C工程源码,专为需要将Segment Anything模型高效落地到生产环境的算法工程师、嵌入式及边缘计算开发者设计。资源解决原生SAM模型推理耗时长、显存占用高的问题,通过TensorRT优化实现低延迟语义分…

2026/10/4 2:00:41 阅读更多 →
Claude Counter 架构拆解:Manifest V3 下 Content Script 与 MAIN World 的 postMessage 桥接通信设计

Claude Counter 架构拆解:Manifest V3 下 Content Script 与 MAIN World 的 postMessage 桥接通信设计

Claude Counter 架构拆解:Manifest V3 下 Content Script 与 MAIN World 的 postMessage 桥接通信设计 【免费下载链接】claude-counter A minimal browser extension that shows token count, cache timer, and usage bars on claude.ai. 项目地址: https://gitc…

2026/10/4 2:00:41 阅读更多 →

最新新闻

Matlab 程序打包成 exe 独立可执行程序:从环境配置到部署避坑指南

Matlab 程序打包成 exe 独立可执行程序:从环境配置到部署避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 2:35:07 阅读更多 →
LeetCode 21 合并两个有序链表:C语言迭代与递归详解

LeetCode 21 合并两个有序链表:C语言迭代与递归详解

说实话,LeetCode 21 的合并两个有序链表,是我面试别人时几乎每次都会拿出来的一道题。它代码量不大,理论上十分钟内写完,可它能把一个人对链表遍历、指针修改、边界处理和递归思维的真实水平看得明明白白。这篇文章我就用 C 语言把…

2026/10/4 2:35:06 阅读更多 →
Python古城节庆智慧预约与人流管控系统实战——FastAPI高并发防超卖、二维码核验与实时预警

Python古城节庆智慧预约与人流管控系统实战——FastAPI高并发防超卖、二维码核验与实时预警

Python古城节庆智慧预约与人流管控系统实战——FastAPI高并发防超卖、二维码核验与实时预警Python、FastAPI、PostgreSQL、Redis、WebSocket、高并发、系统架构、二维码核验、人流预测、智慧文旅古城灯会、庙会与大型夜游活动的管理难点,不只是让游客提前预约&#…

2026/10/4 2:35:06 阅读更多 →
Linux网络编程实战:TCP连接管理、epoll与粘包拆包全解析

Linux网络编程实战:TCP连接管理、epoll与粘包拆包全解析

很多人学Linux网络编程,印象最深的就是那几行socket调用:socket、bind、listen、accept、connect。第一次跑通TCP通信demo的时候,都觉得这东西没多难。可真把这段代码扔到线上,让它顶住真实流量,各种古怪问题就全冒出来…

2026/10/4 2:35:06 阅读更多 →
顺序表与ArrayList:从手写实现到源码剖析与性能避坑

顺序表与ArrayList:从手写实现到源码剖析与性能避坑

如果你在大学修过《数据结构》这门课,或者正在准备考研、期末复习,又或者才学Java没多久就撞上了ArrayList,那么这篇内容你大概率能看下去。顺序表(SeqList)几乎是所有《数据结构》教材第一个认真讲透的线性结构&#…

2026/10/4 2:35:06 阅读更多 →
Conda虚拟环境中pip安装包路径错乱?一文厘清conda与pip的安装机制

Conda虚拟环境中pip安装包路径错乱?一文厘清conda与pip的安装机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 2:34:06 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →