首页多元人格新人入圈/匹配伙伴

西檬之家-字母圈新人入圈指南:从基础术语到实践安全(不含色情元素)

一键匹配 👉 点击这里 👈

欢迎踏上BDSM探索之旅

作为西檬之家的社群成员,我们鼓励所有对BDSM(绑缚与调教、支配与臣服、施虐与受虐)感兴趣的新人。本指南旨在为您提供一个理性、安全且充满乐趣的入门途径,帮助您从基础术语理解到实践安全掌握,逐步融入字母圈这一基于同意和信任的亚文化社群。请记住,所有健康且负责任的BDSM实践都必须建立在安全、理智、知情同意(SSC原则)之上。

核心术语详解:构建你的字母圈知识库

字母圈,即BDSM亚文化社群,包含丰富而具体的操作术语。首先要明确的是,BDSM不是一个单一的活动,而是多种元素如绑缚、支配、臣服、施虐、受虐以及权力交换等的组合。理解这些基础术语是您实践的第一步。

DOM / Sub关系:理解基本互动模式

一键匹配 👉 点击这里 👈

字母圈 - 2023_11_19_14_29_IMG_9077

在BDSM中,DOM(支配者)和Sub(服从者)是代表一种基本互动模式的核心角色。DOM的角色着力于心理层面的主导与支配,强调通过给予、引导与关怀来实现对方的满足;而Sub则侧重于接受指导、展示服从,并从这种归属感中获得满足。这种角色扮演是基于平等、尊重与安全的自愿行为,而非现实中的控制与服从。

SSC原则:安全、理智、知情同意

无论您是称为"安全词"还是选择其他方式保障边界,所有实践都应贯彻SSC原则。这意味着:
• 安全:实践中必须避免任何形式的痛苦、压力或风险,确保参与者的身体与心理安全。
• 理智:必须保持清晰的判断力,能及时发现并中止任何失控或不适行为。
• 知情同意:参与者必须清楚实践的内容、其可能带来的影响,并有意识地决定是否参与。SSC原则是字母圈健康发展的基石,它保障了参与者自由、平等与自主决策的权利。

小圈与大圈:实践形式的差异

对于新人来说,了解不同类型实践有助于更好地选择适合自己的方向。通常,"大圈"(BDSM)涵盖广泛的元素,包括绑缚(B)、支配与臣服(D/S,例如果DOM与Sub关系)、施虐与受虐(S/M)等。它强调深度角色扮演、互惠情感与多种形式的强化体验。
而"小圈"则专门指以打屁股(SP)为核心的实践模式,通常涉及非性化的权力结构,更侧重日常的引导、规则监督与轻度处罚行为,关系结构清晰但随性。

在不了解同行语言前,</article> <!-- 中部广告 --> <div class="fangchan01-ad-wrap"><nav class="article-navigation article-navigation-vertical" aria-label="文章上下篇导航"><div class="article-nav-item article-nav-prev"><div class="article-nav-label">← 上一篇</div><a href="/dyrg/k8-14" class="article-nav-title" title="【西檬之家-字母圈K8是什么?】">【西檬之家-字母圈K8是什么?】</a></div><div class="article-nav-item article-nav-next"><div class="article-nav-label">下一篇 →</div><a href="/dyrg/bdsm-58" class="article-nav-title" title="西檬之家-字母圈BDSM新人指南">西檬之家-字母圈BDSM新人指南</a></div></nav> </div> <!-- 关键词内链 --> <div class="fangchan01-keyword-links"><nav class="keyword-links" aria-label="文章标签"><a href="/tag/bdsm/" title="BDSM">BDSM</a><a href="/tag/dom/" title="Dom">Dom</a><a href="/tag/zimuquan/" title="字母圈">字母圈</a><a href="/tag/xinrenruquan/" title="新人入圈">新人入圈</a><a href="/tag/ximengzhijia/" title="西檬之家">西檬之家</a></nav></div> <!-- 底部广告 --> <div class="fangchan01-ad-wrap"><div class="article-ad-slot article-ad-slot-article_bottom"><div class="article-ad-item">感兴趣的伙伴可以在下方添加一下,也是为了大家有个属于纯爱好者的、纯净的平台来交流沟通、入圈、寻找自己的partner,少走弯路、少踩坑,毕竟鱼龙混杂、知己难觅~ <p style="font-style: italic;font-weight: bold;font-size: 0;white-space: nowrap;margin: 0;padding: 0"> <span style="vertical-align: middle;font-size: 24px;font-weight: bold;background: linear-gradient(135deg, #FFD700, #FFA500, #FFD700);-webkit-background-clip: text;-webkit-text-fill-color: transparent;">一键匹配 </span> <span style="vertical-align: middle;font-size: 24px"> 👉 </span> <a href="/plugin-public.php?p=payment-yipay&a=pay&subject=付款后会自动跳转至匹配客服微信&amount=198" target="_blank" style="text-decoration: none;vertical-align: middle;font-size: 24px;color: #ff0000;font-style: italic;font-weight: bold"> 点击这里 </a> <span style="vertical-align: middle;font-size: 24px"> 👈 </span><p style="font-style: italic;font-size: 24px;white-space: nowrap;margin: 10px 0 0 0;color: #000000"></div></div></div> </div> <!-- 右侧侧边栏 --> <aside class="fangchan01-article-sidebar article-sidebar"> <!-- 相关文章 --> <div class="fangchan01-sidebar-section"> <h3>相关文章</h3> <a class="article-card" href="/dyrg/bdsm-1145.html" title="西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界"><span class="article-card-thumb"><img src="/uploads/article-images/9440a038b077.webp" alt="西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界" loading="lazy"></span><span class="article-card-title">西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界</span></a><a class="article-card" href="/dyrg/article-20260915073707.html" title="【西檬之家】字母圈管教:新手如何理解与实践"><span class="article-card-thumb"><img src="/uploads/article-images/8d4ea575b8e7.webp" alt="【西檬之家】字母圈管教:新手如何理解与实践" loading="lazy"></span><span class="article-card-title">【西檬之家】字母圈管教:新手如何理解与实践</span></a><a class="article-card" href="/dyrg/article-20260915070648.html" title="西檬之家-字母圈新人指南:入门术语与安全原则"><span class="article-card-thumb"><img src="/uploads/article-images/630fb78b3a77.webp" alt="西檬之家-字母圈新人指南:入门术语与安全原则" loading="lazy"></span><span class="article-card-title">西檬之家-字母圈新人指南:入门术语与安全原则</span></a><a class="article-card" href="/dyrg/article-20260915063045.html" title="西檬之家-字母圈新人入圈指南"><span class="article-card-thumb"><img src="/uploads/article-images/8359c9f252c5.webp" alt="西檬之家-字母圈新人入圈指南" loading="lazy"></span><span class="article-card-title">西檬之家-字母圈新人入圈指南</span></a> </div> <!-- 随机推荐 --> <div class="fangchan01-sidebar-section"> <h3>随机推荐</h3> <a class="random-article-link" href="/dyrg/bdsm-1137.html" title="西檬之家-字母圈新人入圈指南:如何安全、理性地探索BDSM世界"><span class="random-article-index">01</span><span class="random-article-text">西檬之家-字母圈新人入圈指南:如何安全、理性地探索BDSM世界</span></a><a class="random-article-link" href="/dyrg/s-bdsm-34.html" title="西檬之家-字母圈S属性是什么?深入了解BDSM中的施虐角色"><span class="random-article-index">02</span><span class="random-article-text">西檬之家-字母圈S属性是什么?深入了解BDSM中的施虐角色</span></a><a class="random-article-link" href="/dyrg/dt-77.html" title="西檬之家-字母圈DT是什么意思?"><span class="random-article-index">03</span><span class="random-article-text">西檬之家-字母圈DT是什么意思?</span></a><a class="random-article-link" href="/dyrg/dom-bdsm-22.html" title="西檬之家-字母圈的Dom是什么意思?从BDSM入门到精通指南"><span class="random-article-index">04</span><span class="random-article-text">西檬之家-字母圈的Dom是什么意思?从BDSM入门到精通指南</span></a><a class="random-article-link" href="/dyrg/bd-121.html" title="西檬之家-BD是什么意思?理解字母圈的最低标准基础"><span class="random-article-index">05</span><span class="random-article-text">西檬之家-BD是什么意思?理解字母圈的最低标准基础</span></a><a class="random-article-link" href="/dyrg/article-20260915013614.html" title="【西檬之家】 新人指南:理解字母圈关键词和术语"><span class="random-article-index">06</span><span class="random-article-text">【西檬之家】 新人指南:理解字母圈关键词和术语</span></a><a class="random-article-link" href="/dyrg/bdsm-1145.html" title="西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界"><span class="random-article-index">07</span><span class="random-article-text">西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界</span></a><a class="random-article-link" href="/dyrg/article-20260915010838.html" title="践踏癖:实用指南"><span class="random-article-index">08</span><span class="random-article-text">践踏癖:实用指南</span></a> </div> <!-- 侧边栏广告 --> <div class="fangchan01-sidebar-ad"></div> <div class="side-card side-card-random-cross"><h3>随便看看</h3><div class="random-article-list"><a class="random-article-link" href="https://sxk.aibdsm.cc/dyrg/aftercare-bdsm-4.html" target="_blank" rel="external" title="【西檬之家】字母圈的Aftercare:BDSM实践后的关键关怀"><span class="random-article-index">01</span><span class="random-article-text">【西檬之家】字母圈的Aftercare:BDSM实践后的关键关怀</span></a><a class="random-article-link" href="https://ra2.aibdsm.cc/duo-yuan-ren-ge/bdsm-1649.html" target="_blank" rel="external" title="西檬之家-字母圈新人入圈指南:从基础术语到安全实践BDSM"><span class="random-article-index">02</span><span class="random-article-text">西檬之家-字母圈新人入圈指南:从基础术语到安全实践BDSM</span></a><a class="random-article-link" href="https://e5c.aibdsm.cc/dyrg/bdsm-1141.html" target="_blank" rel="external" title="西檬之家:新人BDSM指南-从基础概念到安全实践"><span class="random-article-index">03</span><span class="random-article-text">西檬之家:新人BDSM指南-从基础概念到安全实践</span></a><a class="random-article-link" href="https://y71.aibdsm.cc/duo-yuan-ren-ge/bdsm-956.html" target="_blank" rel="external" title="西檬之家-字母圈新人入圈:BDSM基础知识与术语解析"><span class="random-article-index">04</span><span class="random-article-text">西檬之家-字母圈新人入圈:BDSM基础知识与术语解析</span></a><a class="random-article-link" href="https://mzf.aibdsm.cc/dyrg/article-20260915074008.html" target="_blank" rel="external" title="西檬之家-字母圈管教入门:新手必读的权威指南"><span class="random-article-index">05</span><span class="random-article-text">西檬之家-字母圈管教入门:新手必读的权威指南</span></a><a class="random-article-link" href="https://r9r.aibdsm.cc/dyrg/sub-150.html" target="_blank" rel="external" title="西檬之家-字母圈的Sub是什么意思"><span class="random-article-index">06</span><span class="random-article-text">西檬之家-字母圈的Sub是什么意思</span></a><a class="random-article-link" href="https://eyq.aibdsm.cc/duo-yuan-ren-ge/article-20260915062732.html" target="_blank" rel="external" title="【西檬之家】圣水:字母圈术语科普与安全边界解析"><span class="random-article-index">07</span><span class="random-article-text">【西檬之家】圣水:字母圈术语科普与安全边界解析</span></a><a class="random-article-link" href="https://ga1.aibdsm.cc/dyrg/article-20260915070648.html" target="_blank" rel="external" title="西檬之家-字母圈新人指南:入门术语与安全原则"><span class="random-article-index">08</span><span class="random-article-text">西檬之家-字母圈新人指南:入门术语与安全原则</span></a><a class="random-article-link" href="https://ga1.aibdsm.cc/dyrg/article-20260915073707.html" target="_blank" rel="external" title="【西檬之家】字母圈管教:新手如何理解与实践"><span class="random-article-index">09</span><span class="random-article-text">【西檬之家】字母圈管教:新手如何理解与实践</span></a><a class="random-article-link" href="https://ga1.aibdsm.cc/dyrg/bdsm-1145.html" target="_blank" rel="external" title="西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界"><span class="random-article-index">10</span><span class="random-article-text">西檬之家-BDSM新人入圈指南:探索健康安全的字母圈世界</span></a></div></div></aside> </main> <style> /* ===== 页脚 ===== */ .fangchan01-footer { background: var(--v-footer-bg, #0a0a0a); color: var(--v-footer-text, #ccc); position: relative; overflow: hidden; padding: 60px 0 0; font-size: 14px; line-height: 1.8; } .fangchan01-footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--v-footer-accent, linear-gradient(90deg, transparent, var(--v-primary, #d4af37), var(--v-primary-light, #f5d77b), var(--v-primary, #d4af37), transparent)); } .fangchan01-footer-inner { max-width: 80%; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: 1.4fr 1.6fr 1.4fr; gap: 40px; overflow: hidden; } .fangchan01-footer-col { min-width: 0; overflow: hidden; } .fangchan01-footer-brand { display: flex; flex-direction: column; gap: 16px; } .fangchan01-footer-logo { font-size: 22px; font-weight: 700; color: var(--v-footer-heading, #fff); letter-spacing: 2px; text-transform: uppercase; display: flex; align-items: center; gap: 10px; } .fangchan01-footer-logo-icon { width: 36px; height: 36px; background: var(--v-logo-bg, linear-gradient(135deg, var(--v-primary, #d4af37), var(--v-primary-light, #f5d77b))); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--v-logo-text, #0a0a0a); font-weight: 900; flex-shrink: 0; } .fangchan01-footer-tagline { color: currentColor; opacity: 0.7; font-size: 13px; line-height: 1.7; padding-left: 2px; } .fangchan01-footer-heading { font-size: 15px; font-weight: 600; color: var(--v-footer-heading, var(--v-primary, #d4af37)); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 18px; position: relative; padding-bottom: 10px; border-bottom: 1px solid var(--v-footer-border, rgba(212, 175, 55, 0.25)); } .fangchan01-footer-heading::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 40px; height: 2px; background: var(--v-primary, #d4af37); } .fangchan01-footer-links { display: flex; flex-direction: column; gap: 8px; } .fangchan01-footer-links a, .footer-nav a { color: var(--v-fnav-link, currentColor); opacity: 0.85; text-decoration: none; transition: color 0.3s, padding-left 0.3s, opacity 0.3s; display: inline-block; position: relative; padding-left: 14px; } .fangchan01-footer-links a::before, .footer-nav a::before { content: '›'; position: absolute; left: 0; color: var(--v-fnav-icon, var(--v-primary, #d4af37)); font-size: 16px; font-weight: 700; transition: transform 0.3s; } .fangchan01-footer-links a:hover, .footer-nav a:hover { color: var(--v-fnav-link-hover, var(--v-primary-light, #f5d77b)); opacity: 1; padding-left: 18px; } .fangchan01-footer-links a:hover::before, .footer-nav a:hover::before { transform: translateX(2px); } .footer-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; } .footer-nav li { list-style: none; } .fangchan01-footer-contact { color: currentColor; opacity: 0.85; font-style: normal; display: flex; flex-direction: column; gap: 10px; } .fangchan01-footer-contact-item { display: flex; align-items: flex-start; gap: 10px; } .fangchan01-footer-contact-icon { color: var(--v-primary, #d4af37); font-size: 16px; flex-shrink: 0; margin-top: 2px; } .fangchan01-footer-contact-text { color: currentColor; opacity: 0.8; line-height: 1.6; } .fangchan01-footer-friend-wrapper { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; } .fangchan01-footer-friend-wrapper a { color: currentColor; opacity: 0.75; text-decoration: none; font-size: 13px; padding: 4px 12px; background: var(--v-footer-tag-bg, transparent); border: 1px solid var(--v-footer-tag-border, var(--v-footer-border, rgba(212, 175, 55, 0.2))); border-radius: 4px; transition: all 0.3s; } .fangchan01-footer-friend-wrapper a:hover { color: var(--v-footer-link-hover, var(--v-primary-light, #f5d77b)); opacity: 1; border-color: var(--v-primary, #d4af37); background: var(--v-footer-tag-hover-bg, rgba(212, 175, 55, 0.06)); } .fangchan01-footer-bottom { margin-top: 50px; padding: 20px 0; border-top: 1px solid var(--v-footer-border, rgba(255, 255, 255, 0.06)); text-align: center; color: currentColor; opacity: 0.65; font-size: 13px; letter-spacing: 0.5px; } .fangchan01-footer-bottom span { color: var(--v-primary, #d4af37); opacity: 1; } /* 响应式 */ @media (max-width: 900px) { .fangchan01-footer-inner { max-width: 94%; grid-template-columns: 1fr 1fr; gap: 32px; } .fangchan01-footer-col:first-child { grid-column: 1 / -1; } } @media (max-width: 600px) { .fangchan01-footer { padding: 40px 0 0; } .fangchan01-footer-inner { max-width: 100%; grid-template-columns: 1fr; gap: 28px; padding: 0 16px; } .fangchan01-footer-col:first-child { grid-column: 1; } .fangchan01-footer-bottom { margin-top: 32px; padding: 16px 12px; font-size: 12px; } } </style> <footer class="fangchan01-footer"> <div class="fangchan01-footer-inner"> <!-- 品牌 --> <div class="fangchan01-footer-col fangchan01-footer-brand"> <div class="fangchan01-footer-logo"> <picture><source type="image/webp" srcset="/uploads/202606/img-20260613173141-f1783b62.webp"><img src="/uploads/202606/img-20260613173141-f1783b62.jpg" alt="西檬之扉" class="site-logo" style="max-height:40px;width:auto;display:inline-block;vertical-align:middle;"></picture>西檬之扉 </div> <div class="fangchan01-footer-tagline"> 聚焦多元人格 · 专注伙伴匹配<br> 以专业与高效,服务每个社群爱好者 </div> </div> <!-- 快速导航 + 友情链接 --> <div class="fangchan01-footer-col"> <div class="fangchan01-footer-heading">快速导航</div> <nav class="footer-nav"><a href="/" title="首页">首页</a><a href="/dyrg/" class="is-active" title="多元人格">多元人格</a><a href="/plugin-public.php?p=payment-yipay&amp;a=pay&amp;subject=付款后会自动跳转至客服微信&amp;amount=198" title="新人入圈/匹配伙伴">新人入圈/匹配伙伴</a></nav> </div> <!-- 联系信息 --> <div class="fangchan01-footer-col"> <div class="fangchan01-footer-heading">联系方式</div> <div class="fangchan01-footer-contact"> 专注多元人格、亚文化、个人匹配、兴趣交友、心理探索、社交平台领域 </div> </div> </div> <!-- 底部版权 --> <div class="fangchan01-footer-bottom"> &copy; 2026 <span>西檬之扉</span> 保留所有权利 </div> <div class="sitemap-footer-links" style="text-align:center;padding:8px 0;font-size:12px;color:#94a3b8;"><a href="/sitemap.xml" style="color:#64748b;text-decoration:none;" target="_blank">XML地图</a> | <a href="/sitemap.html" style="color:#64748b;text-decoration:none;" target="_blank">网站地图</a></div></footer> <!-- 售后客服(相对路径版) --> <style> #fcFloatBox { position: fixed; right: 0; top: 75%; transform: translateY(-50%); width: 52px; height: 140px; background: #07c160; border-radius: 10px 0 0 10px; cursor: pointer; z-index: 99998; display: flex; align-items: center; justify-content: center; box-shadow: -2px 2px 10px rgba(0,0,0,.25); } #fcFloatBox span { color: #fff; font-size: 22px; font-weight: bold; writing-mode: vertical-rl; letter-spacing: 3px; line-height: 1; } #fcPopBox { position: fixed; right: 64px; top: 75%; transform: translateY(-50%); z-index: 99999; display: none; background: #fff; padding: 10px; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.3); } #fcPopBox img { display: block; max-width: 240px; height: auto; cursor: zoom-in; } #fcCloseBtn { position: absolute; top: -12px; right: -12px; width: 28px; height: 28px; background: #ff4d4f; color: #fff; border-radius: 50%; text-align: center; line-height: 28px; font-size: 18px; font-weight: bold; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.3); } #fcZoomMask { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); z-index: 100000; display: none; align-items: center; justify-content: center; } #fcZoomMask img { max-width: 90%; max-height: 90%; border-radius: 8px; box-shadow: 0 0 30px rgba(0,0,0,0.6); cursor: zoom-out; } #fcZoomClose { position: absolute; top: 20px; right: 30px; width: 36px; height: 36px; background: #ff4d4f; color: #fff; border-radius: 50%; text-align: center; line-height: 36px; font-size: 22px; font-weight: bold; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.4); } </style> <div id="fcFloatBox"> <span>售后客服</span> </div> <div id="fcPopBox"> <div id="fcCloseBtn">&times;</div> <img id="fcSmallImg" src="" alt="售后客服"> </div> <div id="fcZoomMask"> <div id="fcZoomClose">&times;</div> <img id="fcBigImg" src="" alt="售后客服大图"> </div> <script> (function () { // ✅ 相对路径(不依赖任何外部域名) var imgUrl = '/domsm456.webp'; document.getElementById('fcSmallImg').src = imgUrl; document.getElementById('fcBigImg').src = imgUrl; var btn = document.getElementById('fcFloatBox'); var pop = document.getElementById('fcPopBox'); var small = document.getElementById('fcSmallImg'); var mask = document.getElementById('fcZoomMask'); var big = document.getElementById('fcBigImg'); var closePop = document.getElementById('fcCloseBtn'); var closeZoom = document.getElementById('fcZoomClose'); var shown = false; function showPop() { pop.style.display = 'block'; shown = true; } function hidePop() { pop.style.display = 'none'; shown = false; } function showZoom() { mask.style.display = 'flex'; } function hideZoom() { mask.style.display = 'none'; } btn.addEventListener('click', function (e) { e.stopPropagation(); shown ? hidePop() : showPop(); }); closePop.addEventListener('click', function (e) { e.stopPropagation(); hidePop(); }); small.addEventListener('click', function (e) { e.stopPropagation(); showZoom(); }); closeZoom.addEventListener('click', function (e) { e.stopPropagation(); hideZoom(); hidePop(); }); mask.addEventListener('click', function () { hideZoom(); hidePop(); }); big.addEventListener('click', function (e) { e.stopPropagation(); }); document.addEventListener('click', function () { if (shown) hidePop(); }); pop.addEventListener('click', function (e) { e.stopPropagation(); }); })(); </script> <script>/* fangchan01 共享脚本 */ (function() { 'use strict'; /* === 非首页导航深色模式 === */ function applyHeaderDarkMode() { var hero = document.querySelector('.fangchan01-hero'); var header = document.querySelector('.fangchan01-header'); if (!header) return; if (!hero) { document.body.classList.add('header-dark'); } } /* === 滚动入场动画 === */ function initScrollAnimations() { var items = document.querySelectorAll('.fangchan01-service-card, .fangchan01-feature-item, .fangchan01-testimonial-card'); if (!items.length) return; if (!('IntersectionObserver' in window)) { for (var i = 0; i < items.length; i++) items[i].style.opacity = '1'; return; } var observer = new IntersectionObserver(function(entries) { for (var j = 0; j < entries.length; j++) { if (entries[j].isIntersecting) { entries[j].target.style.opacity = '1'; entries[j].target.style.transform = 'translateY(0)'; observer.unobserve(entries[j].target); } } }, { threshold: 0.12 }); for (var k = 0; k < items.length; k++) { items[k].style.opacity = '0'; items[k].style.transform = 'translateY(24px)'; items[k].style.transition = 'opacity 0.6s ease, transform 0.6s ease'; observer.observe(items[k]); } } /* === 统计数字递增 === */ function animateCountUp(el) { var text = el.textContent.trim(); var match = text.match(/^([\d,]+)(\+?)$/); if (!match) return; var target = parseInt(match[1].replace(/,/g, ''), 10); if (isNaN(target) || target <= 0) return; var duration = 1600, startTime = null; function step(timestamp) { if (!startTime) startTime = timestamp; var progress = Math.min((timestamp - startTime) / duration, 1); var eased = 1 - Math.pow(1 - progress, 3); el.textContent = Math.round(eased * target).toLocaleString() + (match[2] || ''); if (progress < 1) requestAnimationFrame(step); } el.textContent = '0' + (match[2] || ''); requestAnimationFrame(step); } function initCountUp() { var stats = document.querySelectorAll('.fangchan01-stat strong'); if (!stats.length || !('IntersectionObserver' in window)) return; var observer = new IntersectionObserver(function(entries) { for (var i = 0; i < entries.length; i++) { if (entries[i].isIntersecting) { animateCountUp(entries[i].target); observer.unobserve(entries[i].target); } } }, { threshold: 0.5 }); for (var j = 0; j < stats.length; j++) observer.observe(stats[j]); } document.addEventListener('DOMContentLoaded', function() { applyHeaderDarkMode(); initScrollAnimations(); initCountUp(); }); })();</script> </body> </html>