//*code script horizontalnavmenu by WeddingPress, Dilarang diperjual-belikan ataupun dibagikan ulang tanpa seijin WeddingPress *//
document.addEventListener('DOMContentLoaded', function () {
let scrollableNavigations = document.querySelectorAll('.horizontalNav .elementor-nav-menu, .horizontalNewNav > div > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading, .horizontalTaxonomy .e-filter, .horizontalTabs > div > .e-n-tabs > .e-n-tabs-heading');
scrollableNavigations.forEach((scrollableNavigation) => {
let navigationItems = Array.from(scrollableNavigation.querySelectorAll('.menu-item, .e-n-menu-title, .e-filter-item, .e-n-tab-title')).filter(e => e.parentElement.closest('.menu-item') == null);
let activeNavigationItemIndex = navigationItems.findIndex((navigationItem) => navigationItem.classList.contains('current-menu-item') || navigationItem.getAttribute('aria-pressed') === 'true' || window.location.href.indexOf('#' + navigationItem.id) > -1);
scrollableNavigation.style.scrollBehavior = "smooth";
navigationItems.forEach((navigationItem, i) => {
let scrollToPosition = (navigationItem.getBoundingClientRect().left + navigationItem.offsetWidth / 2) - (window.innerWidth / 2);
navigationItem.addEventListener('click', function () {
scrollableNavigation.scrollTo({
left: scrollToPosition,
behavior: 'smooth'
});
});
if (i === activeNavigationItemIndex) {
scrollableNavigation.scrollTo({
left: scrollToPosition,
behavior: 'smooth'
});
if (navigationItem.classList.contains('e-n-tab-title')) {
setTimeout(() => {
navigationItem.click();
}, 900);
}
}
if (navigationItem.classList.contains('menu-item') || navigationItem.classList.contains('e-n-menu-title')) {
let anchorElement = navigationItem.querySelector('a');
let observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.attributeName === 'aria-current' && mutation.target.getAttribute('aria-current') === 'location') {
scrollableNavigation.scrollTo({
left: scrollToPosition,
behavior: 'smooth'
});
}
});
});
observer.observe(anchorElement, {
attributes: true
});
}
});
updateMask(scrollableNavigation);
scrollableNavigation.addEventListener('scroll', function () {
updateMask(scrollableNavigation);
});
let navContainer = scrollableNavigation.parentElement;
let navWidth = navContainer.offsetWidth;
if (scrollableNavigation.classList.contains('e-n-tabs-heading')) {
let tabHeadingHeight = scrollableNavigation.offsetHeight;
navContainer.style.setProperty('--tab-heading-height', tabHeadingHeight + 'px');
}
function noScrollClassManager() {
navWidth = navContainer.offsetWidth;
if (scrollableNavigation.scrollWidth <= scrollableNavigation.offsetWidth) {
navContainer.classList.add('no-scroll');
} else {
navContainer.classList.remove('no-scroll');
}
}
noScrollClassManager();
let windowWidth = window.innerWidth;
window.addEventListener('resize', function () {
if (windowWidth === window.innerWidth) return;
windowWidth = window.innerWidth;
noScrollClassManager();
});
});
});
window.onbeforeunload = function() {
window.scrollTo(0, 0);
};
var isSectionLocked = true; // Menyimpan status kunci tampilan section
// Mengunci tampilan section pertama saat halaman dimuat
window.addEventListener('DOMContentLoaded', function() {
lockSection();
});
// Fungsi untuk mengunci tampilan section
function lockSection() {
if (isSectionLocked) {
disableScrolling();
document.body.style.position = "fixed";
document.body.style.overflowY = "scroll";
document.body.style.height = "100vh";
document.getElementById("section-cover").style.width = "100vw"; // Menambahkan gaya untuk membuat cover full width
}
}
// Fungsi untuk membuka tampilan section
function unlockSection() {
enableScrolling();
document.body.style.position = "";
document.body.style.overflowY = "";
document.getElementById("section-cover").style.width = ""; // Menghapus gaya untuk mengembalikan lebar cover ke nilai aslinya
document.getElementById("tombol-buka").style.display = "none"; // Menyembunyikan tombol "tombol-buka"
}
document.getElementById("tombol-buka").onclick = function() {
unlockSection();
playAudio();
};
function disableScrolling() {
var x = window.scrollX;
var y = window.scrollY;
window.onscroll = function() {
window.scrollTo(x, y);
};
}
function enableScrolling() {
window.onscroll = null;
}
function playAudio(){
var isYT = false;
if(document.body.contains(document.getElementById("song"))) {
document.getElementById("song").play();
isYT = false;
} else {
isYT = true;
player.playVideo();
}
}
//Script Custom Nama Tamu by Andy dari WeddingPress
var urlParams = new URLSearchParams(window.location.search);
if (urlParams) {
var textElement = document.getElementById('namatamu');
var defaultText = textElement.innerHTML;
var newText = defaultText;
if (urlParams.has('to')) {
var toValue = urlParams.get('to');
newText = newText.replace(/Tamu Undangan/g, toValue);
}
if (urlParams.has('dear')) {
var dearValue = urlParams.get('dear');
newText = newText.replace(/Tamu Undangan/g, dearValue);
}
if (urlParams.has('kepada')) {
var kepadaValue = urlParams.get('kepada');
newText = newText.replace(/Tamu Undangan/g, kepadaValue);
}
textElement.innerHTML = newText;
}
function revealElements(selector) {
var elements = document.querySelectorAll(selector);
var windowHeight = window.innerHeight;
var elementVisible = 150;
elements.forEach(function(element) {
var elementTop = element.getBoundingClientRect().top;
if (elementTop < windowHeight - elementVisible) {
element.classList.add("active");
} else {
element.classList.remove("active");
}
});
}
window.addEventListener("scroll", function() {
revealElements(".muncul, .muncul-kiri, .muncul-kanan, .zoom");
});
.muncul {
position: relative;
transform: translateY(6rem) scale(0.93);
opacity: 0;
transition: opacity 0.5s ease, transform 1s ease; /* Durasi muncul tanpa delay */
}
.muncul.active {
transform: translateY(0);
opacity: 1;
}
.muncul-kiri {
position: relative;
transform: translateX(-100%) scale(0.93);
opacity: 0;
transition: opacity 0.5s ease, transform 1s ease; /* Durasi muncul tanpa delay */
}
.muncul-kiri.active {
transform: translateX(0);
opacity: 1;
}
.muncul-kanan {
position: relative;
transform: translateX(100%) scale(0.93);
opacity: 0;
transition: opacity 0.5s ease, transform 1s ease; /* Durasi muncul tanpa delay */
}
.muncul-kanan.active {
transform: translateX(0);
opacity: 1;
}
.zoom {
position: relative;
transform: scale(0.5);
opacity: 0;
transition: opacity 0.5s ease, transform 1.5s ease; /* Durasi muncul tanpa delay */
}
.zoom.active {
transform: scale(1);
opacity: 1;
}
//* script show-hide by andy dari weddingpress *//
document.addEventListener("DOMContentLoaded", function () {
var btnAmplop = document.getElementById("btnAmplop");
var btnHide = document.getElementById("btn-hide");
var amplop = document.getElementById("amplop");
// Sembunyikan btn-hide dan amplop saat halaman dimuat
btnHide.style.display = "none";
amplop.style.display = "none";
// Fungsi untuk menampilkan btn-hide dan amplop saat btnAmplop diklik
btnAmplop.onclick = function () {
// Menampilkan btn-hide
btnHide.style.display = "block";
// Menyembunyikan btnAmplop
btnAmplop.style.display = "none";
// Menampilkan section amplop
amplop.style.display = "block";
};
// Fungsi untuk menampilkan btnAmplop kembali dan menyembunyikan btn-hide saat btn-hide diklik
btnHide.onclick = function () {
// Menyembunyikan btn-hide
btnHide.style.display = "none";
// Menampilkan btnAmplop kembali
btnAmplop.style.display = "block";
// Menyembunyikan section amplop
amplop.style.display = "none";
};
});