Browse Source

Merge remote-tracking branch 'origin/master'

master
zhangf@suq.cn 2 weeks ago
parent
commit
21320cfd51
  1. 26
      public/themes/dist_static/static/css/about.css
  2. 33
      public/themes/dist_static/static/js/about.js
  3. 6
      public/themes/website/1/en/demo/about.html
  4. 6
      public/themes/website/1/zh/demo/about.html

26
public/themes/dist_static/static/css/about.css

@ -498,23 +498,19 @@
.ab-members__more {
min-width: 12.5rem;
}
.ab-members__logos {
.ab-members__logos-swiper {
width: 100%;
overflow: hidden;
}
.ab-members__logos-swiper .ab-members__logos {
display: flex;
flex-wrap: nowrap;
align-items: center;
gap: 1rem;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
overscroll-behavior-x: contain;
scrollbar-width: thin;
box-sizing: border-box;
}
.ab-members__logo {
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
width: 10rem;
width: 100%;
height: 6.25rem;
padding: 0;
border: 0;
@ -523,6 +519,7 @@
color: inherit;
cursor: pointer;
transition: background var(--duration-fast) var(--easing);
box-sizing: border-box;
}
.ab-members__logo img {
display: block;
@ -567,6 +564,13 @@
.ab-honors__list:not(.is-expanded) .ab-honors__item:nth-child(n+6) {
display: none;
}
/* 展开后约显示 8 条,超出滚动(单条 ≈ 上下 padding 2.5rem + 行高 + 底边) */
.ab-honors__list.is-expanded {
max-height: calc(8 * (5rem + var(--font-32) + 1px));
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-width: thin;
}
.ab-honors__item {
position: relative;
display: flex;

33
public/themes/dist_static/static/js/about.js

@ -74,10 +74,43 @@ function initHonorsToggle() {
btn.querySelector("span").textContent = expanded ? t("about.collapse") : t("about.expand_more");
});
}
function initMembersLogosSwiper() {
const el = document.querySelector(".ab-members__logos-swiper");
if (!el || !window.Swiper) return;
const count = el.querySelectorAll(".ab-members__logo").length;
const enableCarousel = count > 5;
const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
new window.Swiper(el, {
slidesPerView: 5,
spaceBetween: 16,
watchOverflow: true,
rewind: enableCarousel,
autoplay: enableCarousel && !reduceMotion ? {
delay: 3e3,
disableOnInteraction: false,
pauseOnMouseEnter: true
} : false,
breakpoints: {
0: {
slidesPerView: 2,
spaceBetween: 12
},
576: {
slidesPerView: 3,
spaceBetween: 16
},
993: {
slidesPerView: 5,
spaceBetween: 16
}
}
});
}
$(function() {
setActiveNav();
initHistorySwiper();
counterUpInit();
initHonorsToggle();
initMembersLogosSwiper();
});
//#endregion

6
public/themes/website/1/en/demo/about.html

@ -244,10 +244,11 @@
{php}$member_idx++;{/php}
{/hcTaglib:content}
</div>
<div class="ab-members__logos nav" role="tablist" aria-label="Group members">
<div class="ab-members__logos-swiper swiper">
<div class="ab-members__logos nav swiper-wrapper" role="tablist" aria-label="Group members">
{php}$member_idx = 0;{/php}
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<button type="button" class="ab-members__logo nav-link {if $member_idx == 0}active{/if}" id="ab-member-tab-{$case_top.id}"
<button type="button" class="ab-members__logo nav-link swiper-slide {if $member_idx == 0}active{/if}" id="ab-member-tab-{$case_top.id}"
data-bs-toggle="tab" data-bs-target="#ab-member-panel-{$case_top.id}"
role="tab" aria-controls="ab-member-panel-{$case_top.id}" aria-selected="{if $member_idx == 0}true{else}false{/if}">
<img src="{$case_top.thumbnail.url ?? ''}" alt="{$case_top.title}" width="160" height="60" />
@ -257,6 +258,7 @@
</div>
</div>
</div>
</div>
</section>
{/hcTaglib:category}

6
public/themes/website/1/zh/demo/about.html

@ -244,10 +244,11 @@
{php}$member_idx++;{/php}
{/hcTaglib:content}
</div>
<div class="ab-members__logos nav" role="tablist" aria-label="集团成员">
<div class="ab-members__logos-swiper swiper">
<div class="ab-members__logos nav swiper-wrapper" role="tablist" aria-label="集团成员">
{php}$member_idx = 0;{/php}
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="10" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"}
<button type="button" class="ab-members__logo nav-link {if $member_idx == 0}active{/if}" id="ab-member-tab-{$case_top.id}"
<button type="button" class="ab-members__logo nav-link swiper-slide {if $member_idx == 0}active{/if}" id="ab-member-tab-{$case_top.id}"
data-bs-toggle="tab" data-bs-target="#ab-member-panel-{$case_top.id}"
role="tab" aria-controls="ab-member-panel-{$case_top.id}" aria-selected="{if $member_idx == 0}true{else}false{/if}">
<img src="{$case_top.thumbnail.url ?? ''}" alt="{$case_top.title}" width="160" height="60" />
@ -257,6 +258,7 @@
</div>
</div>
</div>
</div>
</section>
{/hcTaglib:category}

Loading…
Cancel
Save