From 4762453bde3e6ab6cd0681ce0bfb51f282f7776a Mon Sep 17 00:00:00 2001 From: hehh Date: Fri, 21 Nov 2025 12:29:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(about):=20=E4=BC=98=E5=8C=96=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E6=BB=9A=E5=8A=A8=E9=80=BB=E8=BE=91=E4=BB=A5=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E7=9B=B8=E9=82=BB=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整标签分配策略,优先放置原始标签 - 实现标签克隆功能,支持无缝滚动效果 - 在所有原始标签后追加克隆节点 - 为克隆节点添加 data-clone 属性标识 --- js/about.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/js/about.js b/js/about.js index 27f4ffb..adae04d 100644 --- a/js/about.js +++ b/js/about.js @@ -498,7 +498,7 @@ function initHorizontalTechCloud(items) { row2.className = 'tech-row'; row3.className = 'tech-row'; - // 将标签分配到三行中 + // 将标签分配到三行中(先放原始标签,避免相邻重复) sortedItems.forEach(function(item, index) { var el = document.createElement('span'); el.className = 'cloud-tag'; @@ -514,18 +514,21 @@ function initHorizontalTechCloud(items) { } else { row3.appendChild(el); } - - // 为每个标签复制一个副本,实现无缝滚动效果 - var elClone = el.cloneNode(true); - if (index % 3 === 0) { - row1.appendChild(elClone); - } else if (index % 3 === 1) { - row2.appendChild(elClone); - } else { - row3.appendChild(elClone); - } }); + // 追加克隆集合(在所有原始标签之后再追加一轮,用于无缝滚动) + function appendClones(row) { + var originals = Array.from(row.children); + originals.forEach(function(node) { + var clone = node.cloneNode(true); + clone.setAttribute('data-clone', 'true'); + row.appendChild(clone); + }); + } + appendClones(row1); + appendClones(row2); + appendClones(row3); + container.appendChild(row1); container.appendChild(row2); container.appendChild(row3);