Asia Connectทั่วทั้งเอเชีย ยังมีอีกมากมายที่เสียงของผู้คนไม่ได้รับการรับฟัง แพลตฟอร์มนี้ถูกสร้างขึ้นเพื่อเปลี่ยนแปลงสิ่งนั้น — เพื่อเปลี่ยนเรื่องราวของความต้องการให้กลายเป็นสัญญาณแห่งความหวังที่มองเห็นได้ และเพื่อเชื่อมโยงผู้ที่ใส่ใจกับผู้ที่ต้องการความช่วยเหลือมากที่สุด
"การกระทำเล็ก ๆ แห่งความเมตตาเพียงครั้งเดียว สามารถส่งต่อผลกระทบไปไกลข้ามพรมแดน"
ผู้ใช้สามารถกด "ใช้ตำแหน่งปัจจุบัน" หรือเลือกตำแหน่งบนแผนที่ด้วยตนเอง
Asia Connect Consulting and Trade, Thailand ร่วมกับพันธมิตรในประเทศไทย เวียดนาม กัมพูชา และอินโดนีเซีย ได้ริเริ่มก่อตั้งกองทุน Thai Viet Connect Fund (TVC) และกองทุน Ngo Thi Thom Fund (ASEC) เพื่อสนับสนุนชุมชนท้องถิ่นในเอเชียตะวันออกเฉียงใต้ ด้านการพัฒนาอย่างยั่งยืน การศึกษาที่มีคุณภาพ และความเท่าเทียมทางสังคม
ผู้ที่มีสิทธิ์ได้รับการสนับสนุนจากกองทุนของเรา ได้แก่:























































/* =========================================================
Scrollto Top Btn
========================================================= */
document.addEventListener("DOMContentLoaded", () => {
initScrollToTop();
});
function initScrollToTop() {
const btn = document.getElementById("scroll-to-top");
if (!btn) return;
let lastScrollY = window.scrollY;
const threshold = 10; // minimum scroll difference
// Initial state
btn.style.opacity = "0";
btn.style.pointerEvents = "none";
btn.style.transition = "opacity 0.3s ease";
window.addEventListener("scroll", () => {
const currentScroll = window.scrollY;
const diff = currentScroll - lastScrollY;
// Always hide near top
if (currentScroll < 300) {
btn.style.opacity = "0";
btn.style.pointerEvents = "none";
}
// Scrolling DOWN enough → show
else if (diff > threshold) {
btn.style.opacity = "1";
btn.style.pointerEvents = "auto";
}
// Scrolling UP enough → hide
else if (diff < -threshold) {
btn.style.opacity = "0";
btn.style.pointerEvents = "none";
}
lastScrollY = currentScroll;
});
btn.addEventListener("click", (e) => {
e.preventDefault();
window.scrollTo({
top: 0,
behavior: "smooth"
});
});
}
/* =========================================================
Customer
========================================================= */
const track = document.getElementById("customerTrack");
const slider = document.getElementById("customerSlider");
const nextBtn = document.getElementById("customerNextBtn");
const prevBtn = document.getElementById("customerPrevBtn");
let position = 0;
let slideWidth = 0;
let autoSlide;
/* DUPLICATE CONTENT FOR INFINITE LOOP */
track.innerHTML += track.innerHTML;
function calculateWidth() {
const firstImg = track.querySelector("img");
const gap = parseInt(getComputedStyle(track).gap) || 0;
slideWidth = firstImg.getBoundingClientRect().width + gap;
}
function moveNext() {
position -= slideWidth;
track.style.transition = "transform 1s linear";
track.style.transform = `translateX(${position}px)`;
if (Math.abs(position) >= track.scrollWidth / 2) {
setTimeout(() => {
track.style.transition = "none";
position = 0;
track.style.transform = "translateX(0)";
}, 600);
}
}
function movePrev() {
if (position === 0) {
track.style.transition = "none";
position = -track.scrollWidth / 2;
track.style.transform = `translateX(${position}px)`;
}
setTimeout(() => {
position += slideWidth;
track.style.transition = "transform 0.1s linear";
track.style.transform = `translateX(${position}px)`;
}, 20);
}
function startAuto() {
autoSlide = setInterval(moveNext, 2500);
}
function stopAuto() {
clearInterval(autoSlide);
}
/* EVENTS */
nextBtn.addEventListener("click", moveNext);
prevBtn.addEventListener("click", movePrev);
slider.addEventListener("mouseenter", stopAuto);
slider.addEventListener("mouseleave", startAuto);
window.addEventListener("load", () => {
setTimeout(() => {
calculateWidth();
startAuto();
}, 200);
});
window.addEventListener("resize", calculateWidth);
/* =========================================================
Customer
========================================================= */