- Removed gradient overlays from brand cards - Removed shared background banner approach - Each card now has its own banner <img> showing the relevant half (object-position: left for FI-NE, right for LACUEOR) - Logo + eyebrow sit above the image, tagline + CTA below - Dropdown now updates both card images simultaneously - Cleaned up orphaned CSS (.brand-card-overlay, .brand-card-name, .brands-banner-img) - Responsive padding for header/footer sections
56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
/* ============================================================
|
|
FI-NE & LACUEOR — B2B Partner Portal
|
|
Scripts
|
|
============================================================ */
|
|
|
|
(function () {
|
|
"use strict";
|
|
|
|
/* ── Smooth anchor scroll offset for fixed topbar ────────── */
|
|
document.querySelectorAll('a[href^="#"]').forEach(function (anchor) {
|
|
anchor.addEventListener("click", function (e) {
|
|
var target = document.querySelector(this.getAttribute("href"));
|
|
if (!target) return;
|
|
e.preventDefault();
|
|
var offset = 80;
|
|
var top =
|
|
target.getBoundingClientRect().top +
|
|
window.pageYOffset -
|
|
offset;
|
|
window.scrollTo({ top: top, behavior: "smooth" });
|
|
});
|
|
});
|
|
|
|
/* ── Topbar shadow on scroll ─────────────────────────────── */
|
|
var topbar = document.querySelector(".topbar");
|
|
window.addEventListener(
|
|
"scroll",
|
|
function () {
|
|
if (window.scrollY > 20) {
|
|
topbar.style.boxShadow = "0 2px 24px rgba(0,0,0,0.08)";
|
|
} else {
|
|
topbar.style.boxShadow = "none";
|
|
}
|
|
},
|
|
{ passive: true }
|
|
);
|
|
|
|
/* ── Banner image selector ──────────────────────────────── */
|
|
var bannerPicker = document.getElementById("banner-picker");
|
|
var bannerImgs = document.querySelectorAll(".brand-card-image");
|
|
if (bannerPicker && bannerImgs.length) {
|
|
bannerPicker.addEventListener("change", function () {
|
|
var val = this.value;
|
|
bannerImgs.forEach(function (img) {
|
|
img.style.opacity = "0";
|
|
});
|
|
setTimeout(function () {
|
|
bannerImgs.forEach(function (img) {
|
|
img.src = "asset/banner/" + val + ".png";
|
|
img.style.opacity = "1";
|
|
});
|
|
}, 200);
|
|
});
|
|
}
|
|
})();
|