mirror of
https://github.com/dyzulk/dyzulk-pages.git
synced 2026-01-26 13:31:53 +07:00
Deploy Pertama
This commit is contained in:
56
assets/js/main.js
Normal file
56
assets/js/main.js
Normal file
@@ -0,0 +1,56 @@
|
||||
/*===== MENU SHOW =====*/
|
||||
const showMenu = (toggleId, navId) =>{
|
||||
const toggle = document.getElementById(toggleId),
|
||||
nav = document.getElementById(navId)
|
||||
|
||||
if(toggle && nav){
|
||||
toggle.addEventListener('click', ()=>{
|
||||
nav.classList.toggle('show')
|
||||
})
|
||||
}
|
||||
}
|
||||
showMenu('nav-toggle','nav-menu')
|
||||
|
||||
/*==================== REMOVE MENU MOBILE ====================*/
|
||||
const navLink = document.querySelectorAll('.nav__link')
|
||||
|
||||
function linkAction(){
|
||||
const navMenu = document.getElementById('nav-menu')
|
||||
// When we click on each nav__link, we remove the show-menu class
|
||||
navMenu.classList.remove('show')
|
||||
}
|
||||
navLink.forEach(n => n.addEventListener('click', linkAction))
|
||||
|
||||
/*==================== SCROLL SECTIONS ACTIVE LINK ====================*/
|
||||
const sections = document.querySelectorAll('section[id]')
|
||||
|
||||
function scrollActive(){
|
||||
const scrollY = window.pageYOffset
|
||||
|
||||
sections.forEach(current =>{
|
||||
const sectionHeight = current.offsetHeight
|
||||
const sectionTop = current.offsetTop - 50;
|
||||
sectionId = current.getAttribute('id')
|
||||
|
||||
if(scrollY > sectionTop && scrollY <= sectionTop + sectionHeight){
|
||||
document.querySelector('.nav__menu a[href*=' + sectionId + ']').classList.add('active')
|
||||
}else{
|
||||
document.querySelector('.nav__menu a[href*=' + sectionId + ']').classList.remove('active')
|
||||
}
|
||||
})
|
||||
}
|
||||
window.addEventListener('scroll', scrollActive)
|
||||
|
||||
/*===== SCROLL REVEAL ANIMATION =====*/
|
||||
const sr = ScrollReveal({
|
||||
origin: 'top',
|
||||
distance: '60px',
|
||||
duration: 2000,
|
||||
delay: 200,
|
||||
// reset: true
|
||||
});
|
||||
|
||||
sr.reveal('.home__data, .about__img, .skills__subtitle, .skills__text',{});
|
||||
sr.reveal('.home__img, .about__subtitle, .about__text, .skills__img',{delay: 400});
|
||||
sr.reveal('.home__social-icon',{ interval: 200});
|
||||
sr.reveal('.skills__data, .work__img, .contact__input',{interval: 200});
|
||||
28
assets/js/scripts.js
Normal file
28
assets/js/scripts.js
Normal file
@@ -0,0 +1,28 @@
|
||||
function kirimPesan() {
|
||||
var nama = document.getElementById('name');
|
||||
var email = document.getElementById('email');
|
||||
var subject = document.getElementById('subject');
|
||||
var pesan = document.getElementById('message');
|
||||
|
||||
var gabungan = '%F0%9D%90%8D%F0%9D%90%9A%F0%9D%90%A6%F0%9D%90%9A%20%3A%0A' + nama.value + '%0A%0A%F0%9D%90%84%F0%9D%90%A6%F0%9D%90%9A%F0%9D%90%A2%F0%9D%90%A5%20%3A%0A' + email.value + '%0A%0A%F0%9D%90%92%F0%9D%90%AE%F0%9D%90%9B%F0%9D%90%A3%F0%9D%90%9E%F0%9D%90%A4%20%3A%0A' + subject.value + '%0A%0A%F0%9D%90%8F%F0%9D%90%9E%F0%9D%90%AC%F0%9D%90%9A%F0%9D%90%A7%20%3A%0A' + pesan.value;
|
||||
|
||||
// Menggunakan variabel token dan grup dari PHP
|
||||
$.ajax({
|
||||
url: `https://api.telegram.org/bot${token}/sendMessage?chat_id=${grup}&text=${gabungan}&parse_mode=html`,
|
||||
method: `POST`,
|
||||
success: function(response) {
|
||||
// Eksekusi refresh halaman setelah mengirim pesan
|
||||
window.location.reload(true);
|
||||
},
|
||||
error: function(error) {
|
||||
// Jika terjadi kesalahan, Anda dapat menambahkan penanganan error di sini
|
||||
console.log("Error:", error);
|
||||
}
|
||||
});
|
||||
|
||||
// Membersihkan kolom form setelah mengirim pesan
|
||||
nama.value = '';
|
||||
email.value = '';
|
||||
subject.value = '';
|
||||
pesan.value = '';
|
||||
}
|
||||
41
assets/js/ud-menu-scroll.js
Normal file
41
assets/js/ud-menu-scroll.js
Normal file
@@ -0,0 +1,41 @@
|
||||
// ==== for menu scroll
|
||||
const pageLink = document.querySelectorAll(".ud-menu-scroll");
|
||||
|
||||
pageLink.forEach((elem) => {
|
||||
elem.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
document.querySelector(elem.getAttribute("href")).scrollIntoView({
|
||||
behavior: "smooth",
|
||||
offsetTop: 1 - 60,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// section menu active
|
||||
function onScroll(event) {
|
||||
const sections = document.querySelectorAll(".ud-menu-scroll");
|
||||
const scrollPos =
|
||||
window.pageYOffset ||
|
||||
document.documentElement.scrollTop ||
|
||||
document.body.scrollTop;
|
||||
|
||||
for (let i = 0; i < sections.length; i++) {
|
||||
const currLink = sections[i];
|
||||
const val = currLink.getAttribute("href");
|
||||
const refElement = document.querySelector(val);
|
||||
const scrollTopMinus = scrollPos + 73;
|
||||
if (
|
||||
refElement.offsetTop <= scrollTopMinus &&
|
||||
refElement.offsetTop + refElement.offsetHeight > scrollTopMinus
|
||||
) {
|
||||
document
|
||||
.querySelector(".ud-menu-scroll")
|
||||
.classList.remove("active");
|
||||
currLink.classList.add("active");
|
||||
} else {
|
||||
currLink.classList.remove("active");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.document.addEventListener("scroll", onScroll);
|
||||
Reference in New Issue
Block a user