1<!DOCTYPE HTML> 2<!-- 3 Escape Velocity by HTML5 UP 4 html5up.net | @ajlkn 5 Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 6--> 7<html> 8 9<head> 10 <meta charset="utf-8" /> 11 <title data-en="Baosi Official Website">鲿¯è¡ä»½å®ç½</title> 12 <meta name="description" 13 content="鲿¯è¡ä»½ââèè½ è®©å¤©æ´èï¼é²æ¯è¡ä»½æç«äº2005å¹´ï¼2015年卿·±å³äº¤æææçä¸å¸å ¬å¸ãæ»é¨ä½äºèæ°æ éå¼¥åå£å°ââæµæ±å¥åãå ¬å¸ä¸»è¦ç产å缩æºãçç©ºæ³µãæ¶²åæ³µåæå¥è®¾å¤ã"> 14 <meta name="keywords" 15 content="鲿¯è¡ä»½å®ç½,宿³¢é²æ¯è½æºè£ å¤è¡ä»½æéå ¬å¸,鲿¯èºæç©ºåæº,鲿¯å缩æº,鲿¯é¼é£æº,鲿¯ç空,鲿¯å·åª,鲿¯æºç»,鲿¯äº§ä¸é¾æå¡,宿³¢é²æ¯,éåºé²æ¯,æ±è¥¿é²æ¯é²æ¯bsc"> 16 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> 17 <link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin /> 18 <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin /> 19 <link rel="dns-prefetch" href="https://webapi.amap.com" /> 20 <link rel="stylesheet" href="assets/css/main.css" /> 21 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.css" /> 22 <!-- Font Awesome éé»å¡å è½½ï¼å preloadï¼å è½½å®æååæ¢ä¸º stylesheet --> 23 <link rel="preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" 24 onload="this.onload=null;this.rel='stylesheet'" /> 25 <noscript> 26 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" /> 27 </noscript> 28
28<script defer 29 src="https://webapi.amap.com/maps?v=2.0&key=60dea990eed529293debc2f7b1d2c6a0&plugin=AMap.Scale,AMap.ToolBar"></script>
29 30
30<script type="importmap"> 31 { 32 "imports": { 33 "three": "https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js", 34 "three/addons/": "https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/" 35 } 36 } 37 </script>
37 38 39 <style> 40 :root { 41 color-scheme: light; 42 --bg: #f7f4ef; 43 --ink: #191919; 44 --muted: rgba(25, 25, 25, 0.62); 45 --accent: #cf2f25; 46 --gold: #d8b15d; 47 } 48 49 * { 50 box-sizing: border-box; 51 margin: 0; 52 padding: 0; 53 } 54 55 html, 56 body { 57 min-height: 100%; 58 } 59 60 body { 61 font-family: Arial, Helvetica, sans-serif; 62 63 color: var(--ink); 64 overflow-x: hidden; 65 } 66 67 .spacer { 68 height: 100vh; 69 display: grid; 70 place-items: center; 71 padding: 24px; 72 color: rgba(25, 25, 25, 0.34); 73 font-size: clamp(20px, 2vw, 30px); 74 letter-spacing: 0; 75 text-align: center; 76 } 77 78 .scroll-animate { 79 opacity: 0; 80 transform: translateY(60px); 81 transition: all 1.0s cubic-bezier(0.4, 0, 0.2, 1); 82 } 83 84 .scroll-link2 { 85 margin-top: 1.5em; 86 font-weight: 700; 87 margin-left: auto; 88 } 89 90 .scroll-link { 91 display: inline-block; 92 color: #4e6fb2; 93 text-decoration: none; 94 transition: color 0.3s ease; 95 } 96 97 .scroll-link:hover { 98 color: #2d4a8a; 99 } 100 101 .scroll-animate.animated { 102 opacity: 1; 103 transform: translateY(0); 104 } 105 106 .scroll-animate-left { 107 opacity: 0; 108 transform: translateX(-60px); 109 transition: all 1.0s cubic-bezier(0.4, 0, 0.2, 1); 110 } 111 112 .scroll-animate-left.animated { 113 opacity: 1; 114 transform: translateX(0); 115 } 116 117 .scroll-animate-right { 118 opacity: 0; 119 transform: translateX(60px); 120 transition: all 1.0s cubic-bezier(0.4, 0, 0.2, 1); 121 } 122 123 .scroll-animate-right.animated { 124 opacity: 1; 125 transform: translateX(0); 126 } 127 128 /* .info-label{ 129 color: #3a5faa; 130 } 131 .info-label:hover{ 132 color: #ffffff; 133 } */ 134 135 @media screen and (max-width: 736px) { 136 137 .scroll-animate, 138 .scroll-animate-left, 139 .scroll-animate-right, 140 .scroll-animate-scale, 141 .scroll-animate-shake { 142 opacity: 1; 143 transform: none; 144 transition: none; 145 } 146 } 147 148 .scroll-animate-scale { 149 opacity: 0; 150 transform: scale(0.85); 151 transition: all 1.0s cubic-bezier(0.4, 0, 0.2, 1); 152 } 153 154 .scroll-animate-scale.animated { 155 opacity: 1; 156 transform: scale(1); 157 } 158 159 @keyframes shakeIn { 160 0% { 161 opacity: 0; 162 transform: translateY(40px); 163 } 164 165 40% { 166 opacity: 1; 167 transform: translateY(-5px); 168 } 169 170 50% { 171 transform: translateY(3px); 172 } 173 174 60% { 175 transform: translateY(-2px); 176 } 177 178 70% { 179 transform: translateY(1px); 180 } 181 182 80% { 183 transform: translateY(-1px); 184 } 185 186 100% { 187 opacity: 1; 188 transform: translateY(0); 189 } 190 } 191 192 .scroll-animate-shake { 193 opacity: 0; 194 animation: none; 195 } 196 197 .scroll-animate-shake.animated { 198 animation: shakeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards; 199 } 200 201 .scroll-animate-shake.scroll-animate-delay-1 { 202 animation-delay: 0.1s; 203 } 204 205 .scroll-animate-shake.scroll-animate-delay-2 { 206 animation-delay: 0.2s; 207 } 208 209 .scroll-animate-shake.scroll-animate-delay-3 { 210 animation-delay: 0.3s; 211 } 212 213 .scroll-animate-shake.scroll-animate-delay-4 { 214 animation-delay: 0.4s; 215 } 216 217 .scroll-animate-shake.scroll-animate-delay-5 { 218 animation-delay: 0.5s; 219 } 220 221 .scroll-animate-shake.animated.showcase-play-btn { 222 animation: shakeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards, pulse 2s ease-in-out 0.8s infinite; 223 } 224 225 .scroll-animate-delay-1 { 226 transition-delay: 0.1s; 227 } 228 229 .scroll-animate-delay-2 { 230 transition-delay: 0.2s; 231 } 232 233 .scroll-animate-delay-3 { 234 transition-delay: 0.3s; 235 } 236 237 .scroll-animate-delay-4 { 238 transition-delay: 0.4s; 239 } 240 241 .scroll-animate-delay-5 { 242 transition-delay: 0.5s; 243 } 244 245 .hero-content .hero-title-line { 246 opacity: 0; 247 transform: translateY(30px); 248 } 249 </style> 250</head> 251 252<body class="homepage is-preload"> 253 <div id="page-wrapper"> 254 255 <!-- Hero Banner --> 256 <section id="hero-banner" class="hero-wrapper"> 257 <div class="hero-bg"> 258 <div class="hero-swiper swiper"> 259 <div class="swiper-wrapper"> 260 <!-- <div class="swiper-slide"> 261 <img class="hero-bg-image" src="images/header-top.jpg" alt="Hero Backgroun
261d"> 262 </div> --> 263 <div class="swiper-slide"> 264 <img class="hero-bg-image" src="images/header-top2.jpg" alt="Hero Background"> 265 </div> 266 </div> 267 </div> 268 <div class="hero-gradient"></div> 269 </div> 270 <div class="hero-contents"> 271 <div class="hero-text-switch"> 272 <div class="hero-text-group hero-text-group-1"> 273 <h2 class="hero-switch-line" data-en="Happy Manufacturing, Creating Happiness">å¿«ä¹å¶é å¶é å¿«ä¹</h2> 274 <!-- <h3 class="hero-switch-line-sub">以çç±é ç©</h3> --> 275 <p class="hero-switch-line-desc" 276 data-en="Committed to high-quality green energy development and creating value for customers!"> 277 è´åäºæ¨å¨ç»¿è²ç¨è½é«è´¨éåå±ï¼ä¸ºå®¢æ·åé ä»·å¼ï¼</p> 278 </div> 279 280 </div> 281 </div> 282 <nav id="hero-nav"> 283 <div class="nav-inner"> 284 <div class="nav-dyh"> 285 <div class="nav-left"> 286 <div class="nav-logo"> 287 <a href="index.html"> 288 <img src="images/logo-ç½.png" alt="鲿¯è¡ä»½" 289 class="nav-logo-img nav-logo-white nav-logo-big"> 290 <img src="images/logo.png" alt="鲿¯è¡ä»½" 291 class="nav-logo-img nav-logo-dark nav-logo-big"> 292 <img src="images/logo_S_ç½.png" alt="鲿¯è¡ä»½" 293 class="nav-logo-img nav-logo-white nav-logo-s"> 294 <img src="images/logo_S.png" alt="鲿¯è¡ä»½" 295 class="nav-logo-img nav-logo-dark nav-logo-s"> 296 </a> 297 </div> 298 <div class="nav-stock"> 299 <span class="stock-label" data-en="Stock Code">è¡ç¥¨ä»£ç </span> 300 <span class="stock-code">300441</span> 301 </div> 302 </div> 303 <div class="nav-wechat nav-wechat-mobile"> 304 <a href="javascript:;" class="nav-wechat-trigger" aria-label="微信äºç»´ç "><i 305 class="fab fa-weixin"></i></a> 306 <div class="nav-wechat-popup"> 307 <div class="nav-wechat-item"> 308 <img src="images/GZH.jpg" alt="å¾®ä¿¡å ¬ä¼å·"> 309 <span data-en="WeChat Official Account">å¾®ä¿¡å ¬ä¼å·</span> 310 </div> 311 <div class="nav-wechat-item"> 312 <img src="images/SPH.jpg" alt="è§é¢å·"> 313 <span data-en="WeChat Channels">è§é¢å·</span> 314 </div> 315 </div> 316 </div> 317 <button class="nav-toggle" aria-label="Toggle navigation"> 318 <span class="nav-toggle-bar"></span> 319 <span class="nav-toggle-bar"></span> 320 <span class="nav-toggle-bar"></span> 321 </button> 322 </div> 323 324 <ul class="nav-links"> 325 <li><a href="index.html" target="_blank" rel="noopener noreferrer" data-en="Home">é¦é¡µ</a></li> 326 <li class="nav-dropdown"> 327 <a href="javascript:;" data-en="Us">æä»¬</a> 328 <ul class="nav-dropdown-menu"> 329 <li><a href="/about.html" target="_blank" rel="noopener noreferrer" 330 data-en="About Us">å ³äºæä»¬</a></li> 331 <li> 332 <a href="InvestorRelations.html" rel="noopener noreferrer" 333 data-en="Investor Relations">æèµè å ³ç³»</a> 334 <!-- <ul class="nav-dropdown-menu nav-submenu"> 335 <li><a target="_blank" rel="noopener noreferrer" 336 href="https://www.cninfo.com.cn/new/disclosure/stock?stockCode=300441&orgId=9900023845" 337 data-en="Announcements">å ¬å¸å ¬å</a> 338 </li> 339 <li><a href="https://www.cninfo.com.cn/new/disclosure/stock?stockCode=300441&orgId=9900023845&tab=report#periodicReports" 340 target="_blank" rel="noopener noreferrer" 341 data-en="Periodic Reports">宿æ¥å</a> 342 </li> 343 <li><a href="stock.html" target="_blank" rel="noopener noreferrer" 344 data-en="Stock Information">è¡ç¥¨èµæ</a></li> 345 <li><a target="_blank" rel="noopener noreferrer" href="tzzbh.html" 346 data-en="Investor Protection">æèµè ä¿æ¤</a></li> 347 </ul> --> 348 </li> 349 <li><a href="#footer" class="scroll-link" data-en="Contact Us">èç³»æä»¬</a></li> 350 </ul> 351 </li> 352 <li class="nav-dropdown"> 353 <a href="business.html" target="_blank" rel="noopener noreferrer" data-en="Business">ä¸å¡</a> 354 <ul class="nav-dropdown-menu"> 355 <li><a target="_blank" rel="noopener noreferrer" 356 href="https://sjzx.baosiup.com/bsc/web/platform.html?levelcode=00010063&name=" 357 data-en="Baosi Industrial Services">鲿¯å·¥ä¸æå¡</a> 358 </li> 359 <li><a target="_blank" rel="noopener noreferrer" 360 href="https://sjzx.baosiup.com/bsc/web/platform.html?levelcode=00010064&name=%E9%B2%8D%E6%96%AF%E6%B5%81%E4%BD%93%E8%AE%BE%E5%A4%87" 361 data-en="Baosi Components & Parts">鲿¯é¶é¨ä»¶</a> 362 </li> 363 <li><a target="_blank" rel="noopener noreferrer" href="https://vac.cnbaosi.com/" 364 data-en="Baosi Vacuum">鲿¯ç空</a> 365 </li> 366 <li><a target="_blank" rel="noopener noreferrer" 367 href="https://sjzx.baosiup.com/bsc/business_online.html?AccountID=281&levelcode=00011326" 368 data-en="Baosi Refrigeration">鲿¯å·åª</a> 369 </li> 370 <li><a target="_blank" rel="noopener noreferrer" href="http://www.nvicks.cn/#page1" 371 data-en="Vicks Hydraulic">å¨å æ¯æ¶²å</a> 372 </li> 373 <li><a target="_blank" rel="noopener noreferrer" 374 href="https://sjzx.baosiup.com/bsc/web_en/platform.html?name=BAOSI+Fluid+Equipment+ODM/OBM&levelcode=00010086" 375 data-en="Overseas Business">æµ·å¤ä¸å¡</a> 376 </li> 377 </ul> 378 </li> 379 <li><a href="./news.html" target="_blank" rel="noopener noreferrer" class="scroll-link" 380 data-en="News">èµè®¯</a></li> 381 <li class="nav-lang"><a href="javascript:;" class="lang-switch" role="button">EN</a> 382 </li> 383 <li class="nav-wechat nav-wechat-desktop"> 384 <a href="javascript:;" class="nav-wechat-trigger" aria-label="微信äºç»´ç "><i 385 class="fab fa-weixin"></i></a> 386 <div class="nav-wechat-popup"> 387 <div class="nav-wechat-item"> 388 <img src="images/GZH.jpg" alt="å¾®ä¿¡å ¬ä¼å·"> 389 <span data-en="WeChat Official Account">å¾®ä¿¡å ¬ä¼å·</span> 390 </div> 391 <div class="nav-wechat-item"> 392 <img src="images/SPH.jpg" alt="è§é¢å·"> 393 <span data-en="WeChat Channels">è§é¢å·</span> 394 </div> 395 </div> 396 </li> 397 </ul> 398 </div> 399 </nav> 400 <div class="nav-overlay"></div> 401 </section> 402 403 404 <!-- Main --> 405 <section id="main" class="wrapper style2"> 406 <!-- <div class="title scroll-animate">鲿¯å®£ä¼ è§é¢</div> --> 407 <div class="container video-section"> 408 <div class="video-left scroll-animate-left" id="about-promo-wrap"> 409 <video id="about-promo-video" class="featured-video" poster="images/spjsfm.jpg" preload="metadata" 410 playsinline> 411 <source 412 src="http://oss.baosiup.com/%E4%BC%81%E4%B8%9A%E5%AE%A3%E4%BC%A0%E7%89%87/%E9%B2%8D%E6%96%AF%E9%84%B1%E9%98%B3%E6%B5%81%E4%BD%93%E8%A3%85%E5%A4%87%E6%99%BA%E9%80%A0%E4%BA%A7%E4%B8%9A%E5%9B%AD/%E9%B2%8D%E6%96%AF%E9%84%B1%E9%98%B3%E5%AE%A3%E4%BC%A0%E8%A7%86%E9%A2%91-0928-1080p.mp4" 413 type="video/mp4"> 414 </video> 415 <button type="button" class="promo-play-btn" id="about-promo-play" aria-label="ææ¾è§é¢"> 416 <svg width="26" height="26" viewBox="0 0 26 26" fill="#fff" stroke="#fff" stroke-width="3" 417 stroke-linejoin="round" aria-hidden="true"> 418 <path d="M3 2 L24 13 L3 24 Z" /> 419 </svg> 420 </button> 421 </div> 422 <div class="video-right scroll-animate-right"> 423 <!-- <p class="video-desc">
423å ³äºæä»¬</p> --> 424 <h2 class="video-title" data-en="Baosi">鲿¯è¡ä»½</h2> 425 <p class="video-desc" 426 data-en="Founded in 2005 and listed on the Shenzhen Stock Exchange in 2015. Headquartered in Fenghua, Zhejiang, the hometown of Mr. Chiang and the sacred land of Maitreya, the company mainly produces air compressors, vacuum pumps, hydraulic pumps and complete equipment."> 427 æç«äº2005å¹´ï¼2015年卿·±å³äº¤æææçä¸å¸ãå ¬å¸æ»é¨ä½äºèæ°æ éå¼¥åå£å°ä¸ä¸æµæ±å¥åãå ¬å¸ä¸»è¦ç产å缩æºãçç©ºæ³µãæ¶²åæ³µåæå¥è®¾å¤ã<br /> 428 </p> 429 <p class="video-desc" 430 data-en="Guided by the corporate culture of learning, harmony, persistence and professionalism, the company advocates the open-minded, pioneering, harmonious and joyful spirit of Maitreya culture, striving to build a company with core competitiveness and harmonious development."> 431 å ¬å¸ä»¥å¦ä¹ ãåè°ãåæãä¸ä¸ä¸ºä¼ä¸æåçæ ¸å¿ææ³ï¼å¡å¯¼å¼¥åæåä¸ç弿弿ãåè°åä¹ç²¾ç¥ï¼è´å建设ä¸å®¶æ¥ææ ¸å¿ç«äºåè½åè°åå±çå ¬å¸ã<br /> 432 </p> 433 <div style="text-align: right;"> 434 <a href="./about.html" class=" scroll-link scroll-link2" data-en="Learn More">äºè§£æ´å¤</a> 435 </div> 436 </div> 437 </div> 438 </section> 439 440 </div> 441 </section> 442 443 444 445
446 <!-- æ°ä¸å¡æ¨¡åï¼äº§ä¸ä¸æå¡ï¼åè weiqiaocy.com in-sec2ï¼ --> 447 <section id="solutions" class="wrapper style3 industry-service" style="padding: 0;"> 448 <div class="container"> 449 <div class="is-header scroll-animate"> 450 <h2 class="is-title-en">Business</h2> 451 <h1 class="is-title-cn" data-en="Business"><span class="is-title-deco">â</span> ä¸å¡ <span 452 class="is-title-deco">â</span> 453 </h1> 454 <!-- <p class="is-subtitle">æ¼æè¿åï¼æ±å®åæ°ï¼å¿«é髿ï¼åäºä¸æµ</p> --> 455 </div> 456 457 <div class="is-showcase scroll-animate scroll-animate-delay-1"> 458 <!-- å¾çå±å å±ç¤ºåº --> 459 <div class="is-stage"> 460 <img src="images/工䏿å¡åä¸å¡.jpg" class="is-stage-img active" data-index="0" alt="鲿¯å·¥ä¸æå¡"> 461 <img src="images/è¡ä¸å·¥åä¸å¡.jpg" class="is-stage-img" data-index="1" alt="鲿¯é¶é¨ä»¶"> 462 <img src="images/鲿¯ç空ä¸å¡.jpg" class="is-stage-img" data-index="2" alt="鲿¯ç空"> 463 <img src="images/鲿¯å·åªä¸å¡.jpg" class="is-stage-img" data-index="3" alt="鲿¯å·åª"> 464 <img src="images/å¨å æ¯ä¸å¡.jpg" class="is-stage-img" data-index="4" alt="å¨å æ¯æ¶²å"> 465 <img src="images/æµ·å¤ä¸å¡.jpg" class="is-stage-img" data-index="5" alt="æµ·å¤ä¸å¡"> 466 467 468 469 <!-- åºé¨éæå¯¼èªæ¡ï¼æ¬æµ®å¨å¾çå é¨ï¼ --> 470 <div class="is-tabs"> 471 <a href="https://sjzx.baosiup.com/bsc/web/platform.html?levelcode=00010063&name=" 472 target="_blank" class="is-tab active" data-index="0" data-tag="BAOSIINDUSTRIALSERVICE" 473 data-title="工䏿å¡"> 474 <img src="images/工䏿å¡åä¸å¡-h.jpg" class="is-tab-img" alt="鲿¯å·¥ä¸æå¡"> 475 <span class="is-tab-cn is-tab-cn-0">鲿¯å·¥ä¸æå¡</span> 476 <span class="is-tab-en">BS Industrial Services</span> 477 </a> 478 <a href="https://sjzx.baosiup.com/bsc/web/platform.html?levelcode=00010064&name=%E9%B2%8D%E6%96%AF%E6%B5%81%E4%BD%93%E8%AE%BE%E5%A4%87" 479 target="_blank" class="is-tab" data-index="1" data-tag="BSCOMPONENTS" data-title="鲿¯é¶é¨ä»¶"> 480 <img src="images/è¡ä¸å·¥åä¸å¡-h.jpg" class="is-tab-img" alt="鲿¯é¶é¨ä»¶"> 481 <span class="is-tab-cn is-tab-cn-1">鲿¯é¶é¨ä»¶</span> 482 <span class="is-tab-en">BS Components & Parts</span> 483 </a> 484 <a href="https://vac.cnbaosi.com/" target="_blank" class="is-tab" data-index="2" 485 data-tag="BAOSIVACUUM" data-title="鲿¯ç空"> 486 <img src="images/鲿¯ç空ä¸å¡-h.jpg" class="is-tab-img" alt="鲿¯ç空"> 487 <span class="is-tab-cn is-tab-cn-2">鲿¯ç空</span> 488 <span class="is-tab-en">BS Vacuum</span> 489 </a> 490 <a href="https://sjzx.baosiup.com/bsc/business_online.html?AccountID=281&levelcode=00011326" 491 target="_blank" class="is-tab" data-index="3" data-tag="BAOSIREFRIGERANT" data-title="鲿¯å·åª"> 492 <img src="images/鲿¯å·åªä¸å¡-h.jpg" class="is-tab-img" alt="鲿¯å·åª"> 493 <span class="is-tab-cn is-tab-cn-3">鲿¯å·åª</span> 494 <span class="is-tab-en">BS Refrigeration</span> 495 </a> 496 <a href="http://www.nvicks.cn/#page1" target="_blank" class="is-tab" data-index="4" 497 data-tag="VICKSHYDRAULIC" data-title="å¨å æ¯æ¶²å"> 498 <img src="images/å¨å æ¯ä¸å¡-h.jpg" class="is-tab-img" alt="å¨å æ¯æ¶²å"> 499 <span class="is-tab-cn is-tab-cn-4">å¨å æ¯æ¶²å</span> 500 <span class="is-tab-en">Vicks Hydraulic</span> 501 </a> 502 <a href="https://sjzx.baosiup.com/bsc/web_en/platform.html?name=BAOSI+Fluid+Equipment+ODM/OBM&levelcode=00010086" 503 target="_blank" class="is-tab" data-index="5" data-tag="OVERSEASBUSINESS" data-title="æµ·å¤ä¸å¡"> 504 <img src="images/æµ·å¤ä¸å¡-h.jpg" class="is-tab-img" alt="æµ·å¤ä¸å¡"> 505 <span class="is-tab-cn is-tab-cn-5">æµ·å¤ä¸å¡</span> 506 <span class="is-tab-en">Overseas Business</span> 507 </a> 508 </div> 509 </div> 510 </div> 511 </div> 512 </section> 513 514 <!-- News Section --> 515 <section id="main" class="wrapper style2" style="background: #f3f3f3;padding: 2em 0 2em 0;"> 516 <!-- <div class="title scroll-animate" style="background: #f3f3f3;">èµè®¯</div> --> 517 <div class="is-header scroll-animate"> 518 <h2 class="is-title-en">Real-time Info</h2> 519 <h1 class="is-title-cn" data-en="News"><span class="is-title-deco">â</span> èµè®¯ <span 520 class="is-title-deco">â</span> 521 </h1> 522 <!-- <p class="is-subtitle">å ¬å¸æ°é»,åªä½æ¥é,è¡ä¸èµè®¯,ææ¯å¨æ.</p> --> 523 </div> 524 525 526 <section id="news-section" class="news-wrapper" style="background: #f3f3f3;"> 527 <div class="container"> 528 <div class="news-container"> 529 <div class="news-left"> 530 <article class="news-featured scroll-animate-left"> 531 <a href="https://mp.weixin.qq.com/s/8IRAzoLrLzZ1G4eWYmP09Q?from=industrynews&color_scheme=light" 532 target="_blank" rel="noopener noreferrer" class="news-image"> 533 <img src="images/news-dwj-h.jpg" alt="æ¿ç" loading="lazy" /> 534 </a> 535 <h3><a href="https://mp.weixin.qq.com/s/8IRAzoLrLzZ1G4eWYmP09Q?from=industrynews&color_scheme=light" 536 target="_blank" rel="noopener noreferrer"></a> 537 </h3> 538 <p data-en="Long live our motherland! Love is the reason and answer for everything!"> 539 ç¥å½ä¸å²ä¸¨çç±ï¼æ¯ä¸åççç±åçæ¡ï¼</p> 540 <span class="news-date" data-en="Company News | 2026.09.30"></span> 541 </article> 542 </div> 543 <div class="news-right"> 544 <div class="news-list"> 545 <article class="news-item news-list-item scroll-animate scroll-animate-delay-1"> 546 <span class="news-date" data-en="Policy News | 2026.07.25">æ¿çä¿¡æ¯ | 2026.09.28</span> 547 <h4><a href="https://mp.weixin.qq.com/s/M69MpsJLqzdNctLLCRRi3w?from=industrynews&color_scheme=light" target="_blank" 548 rel="noopener noreferrer" 549 data-en="Green Energy Use | Industrial gas use under the dual-carbon goals, combining energy conservation and waste heat recovery."> 550 绿è²ç¨è½ä¸¨å碳ä¹ä¸çå·¥ä¸ç¨æ°ï¼èè½ä¸ä½çå©ç¨ååå ¼å¤</a> 551 </h4> 552 </article> 553 <article class="news-item news-list-item scroll-animate scroll-animate-delay-2"> 554 <span class="news-date" data-en="Company News | 2026.06.18">å ¬å¸æ°é» | 2026.09.24</span> 555 <h4><a href="https://mp.weixin.qq.com/s/75q4OtU0K0InsV6zbBTExA?from=industrynews&color_scheme=light" 556 target="_blank" rel="noopener noreferrer" 557 data-en="Full Moon, Full Reunion | Baosi Writes a New Chapter in Blue â A Mid-Autumn Tribute to Every Fellow Traveler"> 558 æå人åï¼é²æ¯âèâå¾ç»æ°ç¯ä¸¨ä¸ç§è´æ¬æ¯ä¸ä½åè¡è </a> 559 </h4> 560 </article> 561 <article class="news-item news-list-item scroll-animate scroll-animate-delay-1"> 562 <span class="news-date" data-en="Company News | 2026.06.12">
562å ¬å¸æ°é» | 2026.09.18</span> 563 <h4><a href="https://mp.weixin.qq.com/s/cIm5eoasGxHlsTTqCiSadA?from=industrynews&color_scheme=light" 564 target="_blank" rel="noopener noreferrer" 565 data-en="Liangshan Auto Show | Focusing on Lightweight Clean Gas Supply to Jointly Drive the Green Upgrade of the Special-Purpose Vehicle Industry"> 566 æ¢å±±è½¦å±ä¸¨èç¦è½»éåæ´å便°ï¼å ±ä¿ä¸æ±½äº§ä¸ç»¿è²å级</a> 567 </h4> 568 </article> 569 <article class="news-item news-list-item scroll-animate scroll-animate-delay-1"> 570 <span class="news-date" data-en="Company News | 2026.06.03">å ¬å¸æ°é» | 2026.09.17</span> 571 <h4><a href="https://mp.weixin.qq.com/s/o-t7e4Eq6RUahut6h_Ot5w?from=industrynews&color_scheme=light" 572 target="_blank" rel="noopener noreferrer" 573 data-en="Hardcore Strength Recognized Again! Baosi Listed Among the 2026 Top 500 Private Enterprises by Invention Patents"> 574 ç¡¬æ ¸å®ååè·è®¤å¯ï¼é²æ¯è¡ä»½è£ç»â2026æ°è¥ä¼ä¸åæä¸å©500å®¶âæ¦å</a> 575 </h4> 576 </article> 577 578 579 580 </div> 581 </div> 582 </div> 583 <a href="./news.html" style="margin-left: auto;width: 100%;text-align: right;font-weight: 700;" 584 class="news-more-btn " data-en="View More">æ¥çæ´å¤</a> 585 586 </div> 587 </section> 588 </section> 589 <!-- Main --> 590 <!-- <section id="main" class="wrapper style2"> 591 <div class="container"> 592 <section id="features"> 593 <div class="is-header scroll-animate"> 594 <h2 class="is-title-en">Investor Relations</h2> 595 <h1 class="is-title-cn" data-en="Investor Relations"><span class="is-title-deco">â</span> æèµè å ³ç³» 596 <span class="is-title-deco">â</span> 597 </h1> 598 </div> 599 <div class="feature-list"> 600 <div class="row"> 601 <div class="col-6 col-12-medium"> 602 <section class="scroll-animate scroll-animate-left scroll-animate-delay-1"> 603 <h3 class="icon fa-picture-o"> 604 <a rel="noopener noreferrer" 605 href="https://www.cninfo.com.cn/new/disclosure/stock?stockCode=300441&orgId=9900023845" 606 target="_blank" rel="noopener" data-en="Announcements">å ¬å¸å ¬å</a> 607 </h3> 608 <p 609 data-en="Ningbo Baosi Energy Equipment Co., Ltd. is a high-tech enterprise focused on the R&D, production and sales of core screw compressor technology, committed to providing efficient, energy-saving compressed air solutions to global customers."> 610 宿³¢é²æ¯è½æºè£ å¤è¡ä»½æéå ¬å¸æ¯ä¸å®¶ä¸æ³¨äºèºæåç¼©æºæ ¸å¿ææ¯ç åãç产åéå®ç髿°ææ¯ä¼ä¸ï¼è´åäºä¸ºå ¨çå®¢æ·æä¾é«æãèè½çå缩空æ°è§£å³æ¹æ¡ã</p> 611 </section> 612 </div> 613 <div class="col-6 col-12-medium"> 614 <section class="scroll-animate scroll-animate-right scroll-animate-delay-1"> 615 <h3 class="icon fa-picture-o"><a href="stock.html" target="_blank" 616 data-en="Stock Information">è¡ç¥¨èµæ</a></h3> 617 <p 618 data-en="Stock code: 300441, short name: Baosi. Listed on the ChiNext board of the Shenzhen Stock Exchange in 2015, the company adheres to the philosophy of technological innovation and quality first, continuously creating value for shareholders."> 619 è¡ç¥¨ä»£ç ï¼300441ï¼è¡ç¥¨ç®ç§°ï¼é²æ¯è¡ä»½ãå ¬å¸äº2015年卿·±å³è¯å¸äº¤ææå䏿¿ä¸å¸ï¼ç§æ¿"ææ¯åæ°ãè´¨é为æ¬"çç»è¥çå¿µï¼æç»ä¸ºè¡ä¸åé ä»·å¼ã</p> 620 </section> 621 </div> 622 <div class="col-6 col-12-medium"> 623 <section class="scroll-animate scroll-animate-left scroll-animate-delay-2"> 624 <h3 class="icon fa-picture-o"><a rel="noopener noreferrer" 625 href="https://www.cninfo.com.cn/new/disclosure/stock?stockCode=300441&orgId=9900023845&tab=report#periodicReports" 626 target="_blank" rel="noopener" data-en="Periodic Reports">宿æ¥å</a></h3> 627 <p 628 data-en="The company discloses annual, semi-annual and quarterly reports in a timely manner in strict accordance with information disclosure regulations, ensuring investors fully understand its operations and financial performance."> 629 å ¬å¸ä¸¥æ ¼æç §ä¿¡æ¯æ«é²è§å®ï¼åæ¶åå¸å¹´åº¦æ¥åãå年度æ¥åãå£åº¦æ¥åç宿æ¥åï¼ç¡®ä¿æèµè è½å¤å ¨é¢äºè§£å ¬å¸ç»è¥ç¶åµ
629åè´¢å¡è¡¨ç°ã</p> 630 </section> 631 </div> 632 <div class="col-6 col-12-medium"> 633 <section class="scroll-animate scroll-animate-right scroll-animate-delay-2"> 634 <h3 class="icon fa-picture-o"><a href="tzzbh.html" rel="noopener" 635 data-en="Investor Protection">æèµè ä¿æ¤</a></h3> 636 <p 637 data-en="The company has established a sound corporate governance structure, including the board of directors and other bodies, to ensure scientific and standardized decision-making and safeguard the interests of all shareholders."> 638 å ¬å¸å»ºç«å¥å ¨äºå®åçå ¬å¸æ²»çç»æï¼å æ¬è£äºä¼çæºæï¼ç¡®ä¿å ¬å¸å³çç§å¦ãè§èï¼ç»´æ¤å ¨ä½è¡ä¸å©çã</p> 639 </section> 640 </div> 641 </div> 642 </div> 643 644 </section> 645 </div> 646 </section> --> 647 648 649 650 <!-- Footer --> 651 <section id="footer" class="wrapper"> 652 <div class="is-header scroll-animate"> 653 <h2 class="is-title-en">Contact Us</h2> 654 <h1 class="is-title-cn" data-en="Contact Us"><span class="is-title-deco">â</span> èç³»æä»¬ <span 655 class="is-title-deco">â</span> 656 </h1> 657 </div> 658 <!-- <div class="title scroll-animate">èç³»æä»¬</div> --> 659 <div class="container"> 660 661 662 <div class="contact-content"> 663 <div class="contact-info scroll-animate-left"> 664 <!-- <h3 class="company-name">èç³»æä»¬</h3> --> 665 666 <!-- é¡¶é¨åæ¢ Tab --> 667 <div class="contact-tabs"> 668 <button class="contact-tab active" data-tab="contact"> 669 <i class="fas fa-phone"></i><span data-en="Phone / Email">çµè¯/é®ç®±</span> 670 </button> 671 <button class="contact-tab" data-tab="address"> 672 <i class="fas fa-map-marker-alt"></i><span data-en="Address">å°å</span> 673 </button> 674 </div> 675 676 <div class="info-scroll"> 677 <!-- çµè¯/é®ç®±å并颿¿ --> 678 <div class="contact-panel active" data-panel="contact" 679 data-en='<ul class="info-list"><li class="info-item"><div class="info-content"><div class="info-label">Foreign Trade Dept. 1</div><div class="info-text"><i class="fas fa-phone contact-sub-icon"></i><br><i class="fas fa-envelope contact-sub-icon"></i></div></div></li><li class="info-item"><div class="info-content"><div class="info-label">Foreign Trade Dept. 2</div><div class="info-text"><i class="fas fa-phone contact-sub-icon"></i><br><i class="fas fa-envelope contact-sub-icon"></i></div></div></li><li class="info-item"><div class="info-content"><div class="info-label">Foreign Trade Dept. 3</div><div class="info-text"><i class="fas fa-phone contact-sub-icon"></i><br><i class="fas fa-envelope contact-sub-icon"></i></div></div></li></ul>'> 680 <ul class="info-list"> 681 <li class="info-item"> 682 <div class="info-content"> 683 <div class="info-label" data-en="Air-end Business">主æºä¸å¡</div> 684 <div class="info-text"> 685 <i class="fas fa-phone contact-sub-icon"></i>400-1006-555<br> 686 <i class="fas fa-envelope contact-sub-icon"></i>[email protected] 687 </div> 688 </div> 689 </li> 690 <li class="info-item"> 691 <div class="info-content"> 692 <div class="info-label" data-en="Machine Business">æ´æºä¸å¡</div> 693 <div class="info-text"> 694 <i class="fas fa-phone contact-sub-icon"></i>400-8515-909<br> 695 <i class="fas fa-envelope contact-sub-icon"></i>[email protected] 696 </div> 697 </div> 698 </li> 699 <li class="info-item"> 700 <div class="info-content"> 701 <div class="info-label" data-en="Vacuum Business">ç空ä¸å¡</div> 702 <div class="info-text"> 703 <i class="fas fa-phone contact-sub-icon"></i>400-8382-011<br> 704 <i class="fas fa-envelope contact-sub-icon"></i>[email protected] 705 </div> 706 </div> 707 </li> 708 <li class="info-item"> 709 <div class="info-content"> 710 <div class="info-label" data-en="Baosi Purification Business">鲿¯ååä¸å¡</div> 711 <div class="info-text"> 712 <i class="fas fa-phone contact-sub-icon"></i>023-6855-5518<br> 713 <i class="fas fa-envelope contact-sub-icon"></i>[email protected] 714 </div> 715 </div> 716 </li> 717 <li class="info-item"> 718 <div class="info-content"> 719 <div class="info-label" data-en="Industry Chain Service Business">产ä¸é¾æå¡ä¸å¡</div> 720 <div class="info-text"> 721 <i class="fas fa-phone contact-sub-icon"></i>400-8855-883<br> 722 <i class="fas fa-envelope contact-sub-icon"></i>[email protected] 723 </div> 724 </div> 725 </li> 726 </ul> 727 </div> 728 729 <!-- å°å颿¿ --> 730 <div class="contact-panel" data-panel="address"> 731 <ul class="info-list"> 732 <li class="info-item"> 733 <div class="info-content"> 734 <div class="info-label" data-en="Ningbo Base">宿³¢åºå°</div> 735 <div class="info-text" 736 data-en="No. 55 Juchao Rd., Jiangkou Sub-district, Fenghua District, Ningbo, Zhejiang<br>No. 8 Zengzhi Rd., Yuelin Sub-district, Fenghua District, Ningbo, Zhejiang<br>No. 18 Shangqiao Rd., Xiwu Sub-district, Fenghua District, Ningbo, Zhejiang"> 737 æµæ±ç宿³¢å¸å¥ååºæ±å£è¡éèæ½®è·¯55å·<br> 738 æµæ±ç宿³¢å¸å¥ååºå²³æè¡é墿ºè·¯8å·<br> 739 æµæ±ç宿³¢å¸å¥ååºè¥¿åè¡éå°æ¡¥è·¯18å· 740 </div> 741 </div> 742 </li> 743 <li class="info-item"> 744 <div class="info-content"> 745 <div class="info-label" data-en="Jiangxi Smart Manufacturing Base">æ±è¥¿æºé åºå°</div> 746 <div class="info-text" 747 data-en="Chuangye Avenue, Poyang County, Shangrao, Jiangxi">æ±è¥¿çä¸é¥¶å¸é±é³å¿åä¸å¤§é 748 </div> 749 </div> 750 </li> 751 <li class="info-item"> 752 <div class="info-content"> 753 <div class="info-label" data-en="Chongqing Base">éåºåºå°</div> 754 <div class="info-text" 755 data-en="No. 355 Nanhai Rd., Nanhai Avenue, Tiaodeng Town, Dadukou District, Chongqing"> 756 éåºå¸å¤§æ¸¡å£åºè·³è¹¬éåæµ·å¤§éåæµ·è·¯355å·</div> 757 </div> 758 </li> 759 </ul> 760 </div> 761 </div> 762 </div> 763 764 <div class="map-section"> 765 <div id="mapContainer"></div> 766 <div class="map-controls"> 767 <button id="satelliteBtn" data-en="Satellite">嫿</button> 768 <button id="trafficBtn" data-en="Traffic">è·¯åµ</button> 769 </div> 770 </div> 771 </div> 772 <div id="copyright" class="scroll-animate"> 773 <ul> 774 <li data-en="© 2026 Ningbo Baosi Energy Equipment Co., Ltd.">© 2026 宿³¢é²æ¯è½æºè£ å¤è¡ä»½æéå ¬å¸ </li> 775 <li><a style="text-decoration: none;" href="https://beian.miit.gov.cn/" target="_blank" 776 rel="noopener noreferrer">æµICPå¤12019320å·-1</a></li> 777 <li><a style="text-decoration: none;" 778 href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=33028302000616" 779 target="_blank" rel="noopener noreferrer">æµå ¬ç½å®å¤33028302000616å·</a></li> 780 </ul> 781 </div> 782 </div> 783 </section> 784 785 </div> 786 787 <!-- Scripts --> 788
788<script src="./assets/js/gsap.min.js"></script>
788 789
789<script src="./assets/js/ScrollTrigger.min.js"></script>
789 790
790<script src="assets/js/jquery.min.js"></script>
790 791
791<script src="assets/js/jquery.dropotron.min.js"></script>
791 792
792<script src="assets/js/browser.min.js"></script>
792 793
793<script src="assets/js/breakpoints.min.js"></script>
793 794
794<script src="assets/js/util.js"></script>
794 795
795<script src="assets/js/main.js"></script>
795 796
796<script src="assets/js/i18n.js"></script>
796 797
797<script src="assets/js/swiper-bundle.min.js"></script>
797 798
798<script> 799 document.addEventListener('DOMContentLoaded', function () { 800 if (typeof Swiper !== 'undefined' && document.querySelector('.hero-swiper')) { 801 var slideCount = document.querySelectorAll('.hero-swiper .swiper-slide').length; 802 if (slideCount > 1) { 803 new Swiper('.hero-swiper', { 804 speed: 1500, 805 loop: true, 806 effect: 'fade', 807 fadeEffect: { 808 crossFade: true, 809 }, 810 autoplay: { 811 delay: 5000, 812 disableOnInteraction: false, 813 }, 814 }); 815 } 816 } 817 }); 818 </script>
818 819
819<script> 820 // 严谨çè®¾å¤æ£æµï¼å¤ææ¯å¦ä¸ºç§»å¨ç«¯ 821 function isMobileDevice() { 822 // 1. æ£æµæ¯å¦æ¯æè§¦æ¸ 823 var hasTouch = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0); 824 825 // 2. æ£æµæé精度ï¼ç²æé = 触æ¸è®¾å¤ï¼ 826 var coarsePointer = window.matchMedia && window.matchMedia('(pointer: coarse)').matches; 827 828 // 3. æ£æµç§»å¨ç«¯UA 829 var mobileUA = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|Silk/i.test(navigator.userAgent); 830 831 // 4. å±å¹å®½åº¦å°äº 980px 832 var smallScreen = window.innerWidth <= 980; 833 834 // 综åå¤æï¼æè§¦æ¸ + å°å±å¹ æ æç¡®çç§»å¨ç«¯UA 835 return (hasTouch && smallScreen) || mobileUA; 836 } 837 838 // [TEMP-HIDE-VIDEO] ææ¶åªå±ç¤ºå¾çéèè§é¢ï¼æ¢å¤æ¶æ¹å if(isMobileDevice()) 忝é»è¾ 839 function setupHeroBackground() { 840 var video = document.querySelector('.hero-video'); 841 var image = document.querySelector('.hero-bg-image'); 842 843 // ææ¶åªå±ç¤ºå¾çï¼éèè§é¢ 844 if (video) { 845 video.style.display = 'none'; 846 video.pause && video.pause(); 847 } 848 if (image) { 849 image.style.display = 'block'; 850 } 851 } 852 853 // ç«å³æ§è¡ 854 setupHeroBackground(); 855 856 // ä¼ä¸å®£ä¼ è§é¢ï¼é»è®¤å±ç¤ºå°é¢å¾ï¼ç¹å»è§é¢åºåææ¾ï¼ææ¾ç»æåæ¢å¤å°é¢å¯å次ç¹å» 857 (function () { 858 var wrap = document.getElementById('about-promo-wrap'); 859 var promo = document.getElementById('about-promo-video'); 860 if (!promo || !wrap) return; 861 862 function startPlay() { 863 promo.controls = true; 864 promo.muted = false; 865 var p = promo.play(); 866 if (p && p.catch) { 867 p.catch(function () { 868 // ä¸ªå«æµè§å¨ä»æ¦æªæå£°èªå¨ææ¾æ¶ï¼é级ä¸
868ºéé³ææ¾ 869 promo.muted = true; 870 promo.play(); 871 }); 872 } 873 wrap.classList.add('is-playing'); 874 } 875 876 // 馿¬¡ç¹å»å°é¢/è§é¢ææ¥ç®¡ï¼ä¹å交ç»åçæ§å¶æ¡ï¼é¿å åå»å²çª 877 promo.addEventListener('click', startPlay, { once: true }); 878 879 // ææ¾ç»æï¼åå°å°é¢ç¶æå¹¶éæ°å 许ç¹å»ææ¾ 880 promo.addEventListener('ended', function () { 881 promo.pause(); 882 promo.currentTime = 0; 883 promo.controls = false; 884 wrap.classList.remove('is-playing'); 885 promo.addEventListener('click', startPlay, { once: true }); 886 }); 887 })(); 888 889 // çªå£å°ºå¯¸ååæ¶éæ°æ£æµï¼å¦æ¡é¢æµè§å¨ç¼©æ¾ï¼ 890 window.addEventListener("resize", function () { 891 setupHeroBackground(); 892 }); 893 </script>
893 894 895
895<script> 896 document.addEventListener('DOMContentLoaded', function () { 897 const animateElements = document.querySelectorAll('.scroll-animate, .scroll-animate-left, .scroll-animate-right, .scroll-animate-scale, .scroll-animate-shake'); 898 899 const observer = new IntersectionObserver((entries) => { 900 entries.forEach(entry => { 901 if (entry.isIntersecting) { 902 entry.target.classList.add('animated'); 903 } 904 }); 905 }, { 906 threshold: 0.1, 907 rootMargin: '0px 0px -50px 0px' 908 }); 909 910 animateElements.forEach(el => { 911 observer.observe(el); 912 }); 913 }); 914 </script>
914 915 916
916<script> 917 // 产ä¸ä¸æå¡æ¨¡åï¼åºé¨éæå¯¼èªæ¡ hover 忢䏿¹å¾ç + èªå¨è½®æ 918 document.addEventListener('DOMContentLoaded', function () { 919 var showcase = document.querySelector('.is-showcase'); 920 if (!showcase) return; 921 922 var tabs = showcase.querySelectorAll('.is-tab'); 923 var imgs = showcase.querySelectorAll('.is-stage-img'); 924 var tagEl = showcase.querySelector('.is-stage-tag'); 925 var titleEl = showcase.querySelector('.is-stage-title'); 926 var total = tabs.length; 927 var currentIndex = 0; 928 var AUTO_INTERVAL = 4000; // èªå¨åæ¢é´é 4 ç§ 929 var autoTimer = null; 930 931 // 夿æ¯å¦ä¸ºè§¦å±è®¾å¤ï¼æ hoverï¼ 932 var isTouch = window.matchMedia('(hover: none)').matches || window.matchMedia('(pointer: coarse)').matches; 933 934 function switchTo(index) { 935 currentIndex = index; 936 // 忢å¾ç active 937 imgs.forEach(function (img) { 938 img.classList.toggle('active', Number(img.dataset.index) === index); 939 }); 940 // åæ¢å¯¼èªæ¡ active 941 tabs.forEac
941h(function (tab) { 942 tab.classList.toggle('active', Number(tab.dataset.index) === index); 943 }); 944 // æ´æ°ä¿¡æ¯æµ®å± 945 var activeTab = showcase.querySelector('.is-tab[data-index="' + index + '"]'); 946 if (activeTab && tagEl && titleEl) { 947 tagEl.textContent = activeTab.dataset.tag; 948 titleEl.textContent = activeTab.dataset.title; 949 } 950 } 951 952 // èªå¨åæ¢ï¼åå°ä¸ä¸å¼ ï¼æ«å°¾åå°ç¬¬ä¸å¼ 953 function autoNext() { 954 var next = (currentIndex + 1) % total; 955 switchTo(next); 956 } 957 958 function startAuto() { 959 stopAuto(); 960 autoTimer = setInterval(autoNext, AUTO_INTERVAL); 961 } 962 963 function stopAuto() { 964 if (autoTimer) { 965 clearInterval(autoTimer); 966 autoTimer = null; 967 } 968 } 969 970 // æå¨äº¤äºåéç½®å®æ¶å¨ 971 function resetAuto() { 972 if (autoTimer) { 973 startAuto(); 974 } 975 } 976 977 tabs.forEach(function (tab) { 978 // PC 端ï¼mouseenter 忢å¾çï¼ä¸è·³è½¬ï¼ï¼click æè·³è½¬ 979 if (!isTouch) { 980 tab.addEventListener('mouseenter', function () { 981 switchTo(Number(tab.dataset.index)); 982 resetAuto(); 983 }); 984 } else { 985 // ç§»å¨ç«¯ï¼é¦æ¬¡ç¹å»åæ¢å¾ç并黿¢è·³è½¬ï¼å次ç¹å»å项æè·³è½¬ 986 tab.addEventListener('click', function (e) { 987 if (!tab.classList.contains('active')) { 988 e.preventDefault(); 989 switchTo(Number(tab.dataset.index)); 990 resetAuto(); 991 } 992 }); 993 } 994 }); 995 996 // é¼ æ è¿å ¥å±ç¤ºåºæåèªå¨åæ¢ï¼ç¦»å¼æ¢å¤ 997 showcase.addEventListener('mouseenter', stopAuto); 998 showcase.addEventListener('mouseleave', startAuto); 999 1000 // 页é¢å¤±ç¦/éèæ¶æåï¼å¯è§æ¶æ¢å¤ï¼èçèµæº 1001 document.addEventListener('visibilitychange', function () { 1002 if (document.hidden) { 1003 stopAuto(); 1004 } else { 1005 startAuto(); 1006 } 1007 }); 1008 1009 // å¯å¨èªå¨è½®æ 1010 startAuto(); 1011 }); 1012 </script>
1012 1013 1014
1014<script> 1015 // èç³»ä¿¡æ¯ Tab 忢 1016 document.addEventListener('DOMContentLoaded', function () { 1017 var tabs = document.querySelectorAll('.contact-tab'); 1018 var panels = document.querySelectorAll('.contact-panel'); 1019 if (!tabs.length || !panels.length) return; 1020 1021 tabs.forEach(function (tab) { 1022 tab.addEventListener('click', function () { 1023 var target = tab.dataset.tab; 1024 // 忢æé®é«äº® 1025 tabs.forEach(function (t) { t.classList.toggle('active', t === tab); }); 1026 // 忢颿¿æ¾ç¤º 1027 panels.forEach(function (p) { p.classList.toggle('active', p.dataset.panel === target); }); 1028 }); 1029 }); 1030 }); 1031 </script>
1031 1032 1033
1033<script> 1034 // ä¸å¡é¢æ¿è§¦å±ä¸¤æ®µå¼äº¤äº - 已注é 1035 /* 1036 document.addEventListener('DOMContentLoaded', function () { 1037 var panels = document.querySelectorAll('#highlights .biz-panel'); 1038 var container = document.querySelector('#highlights .biz-panels'); 1039 if (!panels.length || !container) return; 1040 1041 var isTouch = window.matchMedia('(hover: none)').matches || window.matchMedia('(pointer: coarse)').matches; 1042 if (!isTouch) return; 1043 1044 function closeAll() { 1045 panels.forEach(function (p) { p.classList.remove('is-open'); }); 1046 container.classList.remove('has-open'); 1047 } 1048 1049 panels.forEach(function (panel) { 1050 panel.addEventListener('click', function (e) { 1051 if (e.target.closest('.biz-panel-cta')) return; 1052 e.preventDefault(); 1053 var wasOpen = panel.classList.contains('is-open'); 1054 closeAll(); 1055 if (!wasOpen) { 1056 panel.classList.add('is-open'); 1057 container.classList.add('has-open'); 1058 } 1059 }); 1060 }); 1061 1062 document.addEventListener('click', function (e) { 1063 if (!e.target.closest('#highlights .biz-panel')) closeAll(); 1064 }); 1065 }); 1066 */ 1067 1068 // æ°ä¸å¡æ¨¡åï¼3.5å¼ å¹¶æ + æ ç¼å¾ªç¯ + ä»»æææ½ï¼ä¸å¸éï¼ + 左侧hover 1069 (function () { 1070 var tabs = document.querySelectorAll('.sol-tab'); 1071 var track = document.getElementById('solSliderTrack'); 1072 var slider = document.getElementById('solSlider'); 1073 if (!tabs.length || !track || !slider) return; 1074 1075 var origSlides = Array.prototype.slice.call(track.querySelectorAll('.sol-slide')); 1076 var total = origSlides.length; 1077 track.innerHTML = ''; 1078 origSlides.forEach(function (s) { track.appendChild(s.cloneNode(true)); }); 1079 origSlides.forEach(function (s) { track.appendChild(s); }); 1080 origSlides.forEach(function (s) { track.appendChild(s.cloneNode(true)); }); 1081 1082 var VISIBLE = 3.5; 1083 var current = total; // float, å è®¸å°æ° 1084 var autoTimer = null; 1085 var AUTO_INTERVAL = 4000; 1086 1087 function slideWidth() { 1088 return slider.offsetWidth / VISIBLE; 1089 } 1090 1091 function setTransform(index, animated) { 1092 var w = slideWidth(); 1093 if (animated) { 1094 track.style.transition = 'transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94)'; 1095 } else { 1096 track.style.transition = 'none'; 1097 } 1098 track.style.transform = 'translateX(' + (-index * w) + 'px)'; 1099 } 1100 1101 function updateActiveTab(index) { 1102 var real = ((Math.round(index) % total) + total) % total;
1103 tabs.forEach(function (t, i) { 1104 if (i === real) t.classList.add('active'); 1105 else t.classList.remove('active'); 1106 }); 1107 } 1108 1109 // æ ç¼å¾ªç¯ï¼å¦æcurrentå¨cloneåºï¼ç¬é´è·³å°å¯¹åºåå§ä½ç½® 1110 function normalize() { 1111 if (current < total) { 1112 current += total; 1113 setTransform(current, false); 1114 } else if (current >= total * 2) { 1115 current -= total; 1116 setTransform(current, false); 1117 } 1118 } 1119 1120 // ===== 左侧 hoverï¼æ å¨ç»éï¼ç´æ¥åæ¢ ===== 1121 tabs.forEach(function (tab, i) { 1122 tab.addEventListener('mouseenter', function () { 1123 stopAuto(); 1124 stopMomentum(); 1125 var targetBase = total + i; 1126 var curInt = Math.round(current); 1127 var candidates = [targetBase, targetBase - total, targetBase + total]; 1128 var best = candidates[0], bestDist = Math.abs(best - curInt); 1129 for (var k = 0; k < candidates.length; k++) { 1130 if (candidates[k] >= 0 && candidates[k] < 3 * total) { 1131 var d = Math.abs(candidates[k] - curInt); 1132 if (d < bestDist) { bestDist = d; best = candidates[k]; } 1133 } 1134 } 1135 current = best; 1136 setTransform(current, true); 1137 updateActiveTab(current); 1138 }); 1139 tab.addEventListener('click', function () { 1140 stopAuto(); 1141 stopMomentum(); 1142 var targetBase = total + i; 1143 var curInt = Math.round(current); 1144 var candidates = [targetBase, targetBase - total, targetBase + total]; 1145 var best = candidates[0], bestDist = Math.abs(best - curInt); 1146 for (var k = 0; k < candidates.length; k++) { 1147 if (candidates[k] >= 0 && candidates[k] < 3 * total) { 1148 var d = Math.abs(candidates[k] - curInt); 1149 if (d < bestDist) { bestDist = d; best = candidates[k]; } 1150 } 1151 } 1152 current = best; 1153 setTransform(current, true); 1154 updateActiveTab(current); 1155 }); 1156 }); 1157 1158 var tabsList = document.querySelector('.sol-tabs-list'); 1159 if (tabsList) { 1160 tabsList.addEventListener('mouseleave', startAuto); 1161 } 1162 1163 // ===== èªå¨ææ¾ ===== 1164 function startAuto() { 1165 stopAuto(); 1166 autoTimer = setInterval(function () { 1167 if (!isDragging) { 1168 current += 1; 1169 setTransform(current, true); 1170 updateActiveTab(current); 1171 } 1172 }, AUTO_INTERVAL); 1173 } 1174 function stopAuto() { 1175 if (autoTimer) { clearInterval(autoTimer); autoTimer = null; } 1176 } 1177 1178 // ===== ææ½ï¼å®å ¨èªç± + æ¯æ§æ»å¨ ===== 1179 var isDragging = false; 1180 var startX = 0; 1181 var startOffset = 0; 1182 var moved = false; 1183 var rafId = null; 1184 var velocity = 0; // ç¬æ¶é度 px/ms 1185 var lastMoveTime = 0; 1186 var lastMoveX = 0; 1187 var FRICTION = 0.94; // æ©æ¦ç³»æ°ï¼è¶å°åè¶å¿« 1188 var MIN_VELOCITY = 0.02; // ä½äºæ¤éåº¦åæ¢ 1189 var DECEL_RATE = 0.95; // æ¯å¸§åéæ¯ä¾ 1190 1191 function pxFromIndex(idx) { 1192 return -idx * slideWidth(); 1193 } 1194 function indexFromPx(px) { 1195 return -px / slideWidth(); 1196 } 1197 1198 function onDragStart(e) { 1199 if (e.target.closest('.sol-slide-cta')) return; 1200 isDragging = true; 1201 moved = false; 1202 var clientX = (e.type === 'touchstart') ? e.touches[0].clientX : e.clientX; 1203 startX = clientX; 1204 lastMoveX = clientX; 1205 lastMoveTime = performance.now(); 1206 velocity = 0; 1207 startOffset = pxFromIndex(current); 1208 track.style.transition = 'none'; 1209 track.classList.add('dragging'); 1210 if (rafId) { cancelAnimationFrame(rafId); rafId = null; } 1211 stopAuto(); 1212 stopMomentum(); 1213 } 1214 1215 function onDragMove(e) { 1216 if (!isDragging) return; 1217 var clientX = (e.type === 'touchmove') ? e.touches[0].clientX : e.clientX; 1218 var dx = clientX - startX; 1219 if (Math.abs(dx) > 3) moved = true; 1220 1221 // 计ç®ç¬æ¶é度ï¼ç¨æè¿ä¸æ®µç§»å¨çæ¶é´ï¼ 1222 var now = performance.now(); 1223 var dt = now - lastMoveTime; 1224 if (dt > 0) {
1225 var instantV = (clientX - lastMoveX) / dt; 1226 // å¹³æ»é度 1227 velocity = velocity * 0.6 + instantV * 0.4; 1228 } 1229 lastMoveX = clientX; 1230 lastMoveTime = now; 1231 1232 var px = startOffset + dx; 1233 if (!rafId) { 1234 rafId = requestAnimationFrame(function () { 1235 rafId = null; 1236 track.style.transform = 'translateX(' + px + 'px)'; 1237 }); 1238 } 1239 if (e.type === 'touchmove') e.preventDefault(); 1240 } 1241 1242 function onDragEnd(e) { 1243 if (!isDragging) return; 1244 isDragging = false; 1245 track.classList.remove('dragging'); 1246 if (rafId) { cancelAnimationFrame(rafId); rafId = null; } 1247 1248 var clientX = (e.type === 'touchend' || e.type === 'touchcancel') ? e.changedTouches[0].clientX : e.clientX; 1249 var dx = clientX - startX; 1250 var finalPx = startOffset + dx; 1251 1252 // å½åä½ç½® 1253 var currentPx = finalPx; 1254 1255 // å¯å¨æ¯æ§æ»å¨ 1256 startMomentum(currentPx, velocity); 1257 } 1258 1259 // æ¯æ§æ»å¨ 1260 function momentumRaf(px, v) { 1261 if (Math.abs(v) < MIN_VELOCITY) { 1262 // æ¯æ§ç»æï¼è®°å½å½åä½ç½® 1263 current = indexFromPx(px); 1264 updateActiveTab(current); 1265 // æ ç¼è·³è½¬ 1266 var intPart = Math.round(current); 1267 if (intPart < total) { 1268 current += total; 1269 setTransform(current, false); 1270 } else if (intPart >= total * 2) { 1271 current -= total; 1272 setTransform(current, false); 1273 } 1274 startAuto(); 1275 momentumRafId = null; 1276 return; 1277 } 1278 // æ¯å¸§ï¼ä½ç½® += é度 * dtï¼dt=16ms约ä¸å¸§ï¼ 1279 var dt = 16; 1280 v = v * DECEL_RATE; // åé 1281 px = px + v * dt; 1282 track.style.transition = 'none'; 1283 track.style.transform = 'translateX(' + px + 'px)'; 1284 1285 // æ£æµæ¯å¦è¶è¿cloneè¾¹çï¼æ ç¼è·³è½¬ 1286 var idx = indexFromPx(px); 1287 var intIdx = Math.round(idx); 1288 if (intIdx < total) { 1289 px -= total * slideWidth(); 1290 } else if (intIdx >= total * 2) { 1291 px += total * slideWidth(); 1292 } 1293 1294 momentumRafId = requestAnimationFrame(function () { 1295 momentumRaf(px, v); 1296 }); 1297 } 1298 1299 var momentumRafId = null; 1300 1301 function startMomentum(startPx, v) { 1302 if (Math.abs(v) < MIN_VELOCITY) { 1303 current = indexFromPx(startPx); 1304 updateActiveTab(current); 1305 startAuto(); 1306 return; 1307 } 1308 stopMomentum(); 1309 momentumRafId = requestAnimationFrame(function () { 1310 momentumRaf(startPx, v); 1311 }); 1312 } 1313 1314 function stopMomentum() { 1315 if (momentumRafId) { 1316 cancelAnimationFrame(momentumRafId); 1317 momentumRafId = null; 1318 } 1319 } 1320 1321 slider.addEventListener('mousedown', onDragStart); 1322 document.addEventListener('mousemove', onDragMove); 1323 document.addEventListener('mouseup', onDragEnd); 1324 slider.addEventListener('touchstart', onDragStart, { passive: true }); 1325 document.addEventListener('touchmove', onDragMove, { passive: false }); 1326 document.addEventListener('touchend', onDragEnd); 1327 document.addEventListener('touchcancel', onDragEnd); 1328 slider.addEventListener('dragstart', function (e) { e.preventDefault(); }); 1329 slider.addEventListener('mouseenter', stopAuto); 1330 slider.addEventListener('mouseleave', startAuto); 1331 1332 // å¨ç»ç»æåæ£æ¥æ¯å¦éè¦æ ç¼è·³è½¬ 1333 track.addEventListener('transitionend', function (e) { 1334 if (e.propertyName !== 'transform') return; 1335 if (isDragging) return; // ææ½ä¸ä¸å¤ç 1336 normalize(); 1337 }); 1338 1339 window.addEventListener('resize', function () { 1340 setTransform(current, false); 1341 }); 1342 1343 setTransform(current, false); 1344 startAuto(); 1345 })(); 1346 </script>
1346 1347 1348
1348<script> 1349 // é«å¾·å°å¾åå§å 1350 function initMap() { 1351 if (!window.AMap) { 1352 setTimeout(initMap, 100); 1353 return; 1354 } 1355 1356 var map = new AMap.Map('mapContainer', { 1357 center: [121.4513, 29.6272], 1358 zoom: 13 1359 }); 1360 1361 // æ·»å æ è®°ç¹ 1362 var markers = [ 1363 { position: [121.4485, 29.6258], title: '西åååº', address: 'æµæ±ç宿³¢å¸å¥ååºè¥¿åè¡éå°æ¡¥è·¯18å·' }, 1364 { position: [121.4623, 29.6185], title: 'æ±å£ååº', address: 'æµæ±ç宿³¢å¸å¥ååºæ±å£è¡éèæ½®è·¯55å·' }, 1365 { position: [121.4556, 29.6352], title: 'æ°é²ååº', address: 'æµæ±ç宿³¢å¸å¥ååºå¡æºè·¯8å·' }, 1366 { position: [116.6852, 29.0325], title: 'æ±è¥¿ååº', address: 'æ±è¥¿çé±é³å¿è¦ç°å·¥ä¸åº' } 1367 ]; 1368 1369 markers.forEach(function (item) { 1370 var marker = new AMap.Marker({ 1371 position: item.position, 1372 title: item.title, 1373 icon: new AMap.Icon({ 1374 size: new AMap.Size(20, 20), 1375 image: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png' 1376 }) 1377 }); 1378 map.add(marker); 1379 1380 var infoWindow = new AMap.InfoWindow({ 1381 content: '<strong>' + item.title + '</strong><br>' + item.address 1382 }); 1383 1384 marker.on('click', function () { 1385 infoWindow.open(map, marker.getPosition()); 1386 }); 1387 }); 1388 1389 // 嫿å¾å± 1390 var satellite = new AMap.TileLayer.Satellite(); 1391 var isSatellite = false; 1392 1393 document.getElementById('satelliteBtn').onclick = function () { 1394 isSatellite = !isSatellite; 1395 if (isSatellite) { 1396 map.add(satellite); 1397 this.classList.add('active'); 1398 } else { 1399 map.remove(satellite); 1400 this.classList.remove('active'); 1401 } 1402 }; 1403 1404 // è·¯åµå¾å± 1405 var traffic = new AMap.TileLayer.Traffic(); 1406 var isTraffic = false; 1407 1408 document.getElementById('trafficBtn').onclick = function () { 1409 isTraffic = !isTraffic; 1410 if (isTraffic) { 1411 map.add(traffic); 1412 this.classList.add('active'); 1413 } else { 1414 map.remove(traffic); 1415 this.classList.remove('active'); 1416 } 1417 }; 1418 1419 // èªéåºè§é 1420 map.setFitView(); 1421 1422 // çªå£å°ºå¯¸ååæ¶éç»å°å¾ï¼é¿å ååºå¼ä¸å°å¾ç©ºç½ 1423 window.addEventListener('resize', function () { 1424 map.resize(); 1425 }); 1426 } 1427 1428 // å¹³æ»æ»å¨å°éç¹ 1429 document.addEventListener('DOMContentLoaded', function () { 1430 initMap(); 1431 1432 // 为ææå¸¦æscroll-linkç±»ç龿¥æ·»å å¹³æ»æ»å¨ 1433 var scrollLinks = document.querySelectorAll('.scroll-link'); 1434 scrollLinks.forEach(function (link) { 1435 link.addEventListener('click', function (e) { 1436 var targetId = this.getAttribute('href'); 1437 if (targetId.startsWith('#') && targetId.length > 1) { 1438 e.preventDefault(); // åªå¯¹éç¹é¾æ¥é»æ¢é»è®¤è¡ä¸º 1439 var targetElement = document.querySelector(targetId); 1440 if (targetElement) { 1441 targetElement.scrollIntoView({ 1442 behavior: 'smooth', 1443 block: 'start' 1444 }); 1445 } 1446 } 1447 }); 1448 }); 1449 }); 1450 </script>
1450 1451 1452 <!-- Navigation Scroll Behavior --> 1453
1453<script> 1454 (function () { 1455 var nav = document.getElementById('hero-nav'); 1456 var navToggle = document.querySelector('.nav-toggle'); 1457 var navOverlay = document.querySelector('.nav-overlay'); 1458 if (!nav) return; 1459 1460 var lastScrollTop = 0; 1461 var scrollThreshold = 200; 1462 var changeThreshold = 50; 1463 1464 // 忢èå彿° 1465 function toggleNavMenu(open) { 1466 if (open) { 1467 nav.classList.add('nav-open'); 1468 document.body.classList.add('nav-menu-open'); 1469 } else { 1470 nav.classList.remove('nav-open'); 1471 document.body.classList.remove('nav-menu-open'); 1472 } 1473 } 1474 1475 // æ±å ¡èåç¹å»äºä»¶ 1476 if (navToggle) { 1477 navToggle.addEventListener('click', function (e) { 1478 e.preventDefault(); 1479 toggleNavMenu(!nav.classList.contains('nav-open')); 1480 }); 1481 1482 // ç¹å»overlayæ¶å ³éèå 1483 if (navOverlay) { 1484 navOverlay.addEventListener('click', function (e) { 1485 e.preventDefault(); 1486 toggleNavMenu(false); 1487 }); 1488 } 1489 1490 // ç¹å»å¯¼èªé¾æ¥æ¶å ³éèåï¼æé¤ä¸æèåç¶é¾æ¥ï¼ 1491 var navLinks = nav.querySelectorAll('.nav-links > li > a'); 1492 navLinks.forEach(function (link) { 1493 link.addEventListener('click', function (e) { 1494 // 妿æ¯ä¸æèåçç¶é¾æ¥ï¼ä¸å ³éèå 1495 if (link.closest('.nav-dropdown')) { 1496 return; 1497 } 1498 toggleNavMenu(false); 1499 }); 1500 }); 1501 1502 // ç¹å»ä¸æèåâå¶åâ龿¥æ¶å ³éèåï¼å«åèåçç¶é¡¹ä¸å ³éï¼ 1503 var dropdownLinks = nav.querySelectorAll('.nav-dropdown-menu a'); 1504 dropdownLinks.forEach(function (link) { 1505 link.addEventListener('click', function () { 1506 var li = link.parentElement; 1507 if (li && li.classList.contains('nav-dropdown')) { 1508 return; 1509 } 1510 toggleNavMenu(false); 1511 }); 1512 }); 1513 } 1514 1515 // 䏿/åèåç¹å»å±å¼æ¶èµ·ï¼ç§»å¨ç«¯ï¼æ¡é¢ç«¯ hoverï¼ 1516 var dropdowns = nav.querySelectorAll('.nav-dropdown'); 1517 dropdowns.forEach(function (dropdown) { 1518 var dropdownLink = dropdown.querySelector('a'); 1519 if (!dropdownLink) return; 1520 dropdownLink.addEventListener('click', function (e) { 1521 if (window.innerWidth > 1050) return; 1522 e.preventDefault(); 1523 var wasOpen = dropdown.classList.contains('open'); 1524 1525 // åªæ¶èµ·å级å±å¼é¡¹ï¼ä¸å½±åç¶çº§/å级 1526 var parent = dropdown.parentElement; 1527 if (parent) { 1528 for (var i = 0; i < parent.children.length; i++) { 1529 var sibling = parent.children[i]; 1530 if (sibling !== dropdown && sibling.classList && sibling.classList.contains('nav-dropdown')) { 1531 sibling.classList.remove('open'); 1532 } 1533 } 1534 } 1535 1536 if (wasOpen) { 1537 dropdown.classList.remove('open'); 1538 } else { 1539 dropdown.classList.add('open'); 1540 } 1541 }); 1542 }); 1543 1544 // ç嬿»å¨äºä»¶ 1545 window.addEventListener('scroll', function () { 1546 // 妿è忝å±å¼çï¼ä¸å¤çæ»å¨é»è¾ 1547 if (nav.classList.contains('nav-open')) { 1548 return; 1549 } 1550 1551 var currentScrollTop = window.pageYOffset || document.documentElement.scrollTop; 1552 1553 // æ»å¨ååæ¢ä¸ºç½è²èæ¯ãæ·±è²åä½ 1554 if (currentScrollTop > changeThreshold) { 1555 nav.classList.add('nav-scrolled'); 1556 } else { 1557 nav.classList.remove('nav-scrolled'); 1558 } 1559 1560 // å䏿»å¨è¶ è¿é弿¶éèå¯¼èªæ ï¼å½åæªå¯ç¨ï¼ 1561 if (currentScrollTop > lastScrollTop && currentScrollTop > scrollThreshold) { 1562 nav.classList.add('nav-hidden'); 1563 } else { 1564 nav.classList.remove('nav-hidden'); 1565 } 1566 1567 lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; 1568 }, 100); 1569 })(); 1570 </script>
1570 1571 1572
1572<script> 1573 // ç§»å¨ç«¯å è导èªï¼ç¹å»é䏿ç¶é¡¹ï¼ç©ºç½/å¶å龿¥ï¼æ¶æ¶èµ·ææå±å¼ç䏿 1574 document.addEventListener('click', function (e) { 1575 if (window.innerWidth > 1050) return; 1576 if (!e.target.closest('.nav-dropdown > a')) { 1577 document.querySelectorAll('.nav-dropdown.open').forEach(function (d) { 1578 d.classList.remove('open'); 1579 }); 1580 } 1581 }); 1582 </script>
1582 1583 1584 <div class="floating-sidebar"> 1585 <div class="float-item float-qr-content"> 1586 <div class="float-icon"><i class="fab fa-weixin"></i></div> 1587 <div class="float-content"> 1588 <span class="float-label" data-en="WeChat">å¾®ä¿¡å ¬ä¼å·</span> 1589 <span class="float-value" data-en="Scan to Follow">æ«ç å ³æ³¨</span> 1590 </div> 1591 <div class="qr-popup"> 1592 <img src="images/GZH.jpg" alt="å¾®ä¿¡å ¬ä¼å·äºç»´ç "> 1593 <p data-en="Baosi">鲿¯è¡ä»½</p> 1594 </div> 1595 </div> 1596 <div class="float-item"> 1597 <div class="float-icon"><i class="fas fa-phone"></i></div> 1598 <div class="float-content"> 1599 <span class="float-label" data-en="Tel">èç³»çµè¯</span> 1600 <span class="float-value">400-1006-555</span> 1601 </div> 1602 </div> 1603 </div> 1604 1605
1605<script> 1606 // 微信äºç»´ç å¼¹çªï¼ç¹å»åæ¢ï¼ç¹å»å¤é¨å ³é 1607 (function () { 1608 var triggers = document.querySelectorAll('.nav-wechat-trigger'); 1609 triggers.forEach(function (trigger) { 1610 trigger.addEventListener('click', function (e) { 1611 e.preventDefault(); 1612 var box = trigger.closest('.nav-wechat'); 1613 if (!box) return; 1614 var wasOpen = box.classList.contains('open'); 1615 document.querySelectorAll('.nav-wechat.open').forEach(function (el) { el.classList.remove('open'); }); 1616 if (!wasOpen) box.classList.add('open'); 1617 }); 1618 }); 1619 document.addEventListener('click', function (e) { 1620 if (!e.target.closest('.nav-wechat')) { 1621 document.querySelectorAll('.nav-wechat.open').forEach(function (el) { el.classList.remove('open'); }); 1622 } 1623 }); 1624 })(); 1625 </script>
1625 1626</body> 1627 1628</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.