var wHeight = window.innerHeight;
var sb = document.querySelector(".search-button");
var closeSB = document.querySelector(".search-close");
var SearchOverlay = document.body;
var searchBar = document.querySelector(".search-bar");
// Show
searchBar.style.top=wHeight/2 +'px';
console.log(wHeight);
window.addEventListener("resize", function() {
console.log(wHeight);
wHeight = window.innerHeight;
searchBar.style.top=wHeight/2 + 'px';
}, true);
document.addEventListener("click", function() {
sb.onclick = function() {
console.log("Opened Search for Element: ");
SearchOverlay.classList.add("show-search");
};
// Hide
closeSB.onclick = function() {
console.log("Closed Search for Element: " + closeSB);
SearchOverlay.classList.remove("show-search");
};
}, true); Şu JS Kodu Neden Sayfada Geçen İlk Class Haricindekilerde Çalışmıyor?
6
●116
- 10-09-2022, 17:45:46Aşağıdaki JS kodu site içi aramayı açıp kapatıyor ama sayfada 2 yerde .search-button butonu var, 1. çalışıyor 2. çalışıyor. Daha fazla eklersem onlarda çalışıyor. Bu kodun sayfadaki tüm .search-button içeren class'larda çalışmasını sağlayabilirim?
- 10-09-2022, 18:11:39querySelector ilk elementi seçer. querySelectorAll yaparak tüm elementleri seçebilirsiniz. Bunları daha sonra bir forEach döngüsü ile manipüle edebilirsiniz.
const sb = document.querySelectorAll(".search-button"); sb.forEach(item => { item.addEventListener("click", () => {}) }) - 10-09-2022, 18:31:26querySelectorAll kullanmıştım önceden de çalışmadı nedense. Verdiğiniz kodu aşağıdaki gibi eklemem gerekiyor sanırım, çalışmadı butonların hiçbiri.burak2yilmaz adlı üyeden alıntı: mesajı görüntüle
var wHeight = window.innerHeight; const sb = document.querySelectorAll(".search-button"); sb.forEach(item => { item.addEventListener("click", () => {}) }) var closeSB = document.querySelector(".search-close"); var SearchOverlay = document.body; var searchBar = document.querySelector(".search-bar"); // Show searchBar.style.top=wHeight/2 +'px'; console.log(wHeight); window.addEventListener("resize", function() { console.log(wHeight); wHeight = window.innerHeight; searchBar.style.top=wHeight/2 + 'px'; }, true); document.addEventListener("click", function() { sb.onclick = function() { console.log("Opened Search for Element: "); SearchOverlay.classList.add("show-search"); }; // Hide closeSB.onclick = function() { console.log("Closed Search for Element: " + closeSB); SearchOverlay.classList.remove("show-search"); }; }, true); - 10-09-2022, 18:34:54Yanlış yapıyorsunuz. Aşağıdaki gibi olacak:SkyGhostAir adlı üyeden alıntı: mesajı görüntüle
const wHeight = window.innerHeight; const closeSB = document.querySelector(".search-close"); const SearchOverlay = document.body; const searchBar = document.querySelector(".search-bar"); // Show searchBar.style.top=wHeight/2 +'px'; console.log(wHeight); window.addEventListener("resize", function() { console.log(wHeight); wHeight = window.innerHeight; searchBar.style.top=wHeight/2 + 'px'; }, true); document.queySelectorAll(".search-button").forEach(item => { item.addEventListener('click', () => { console.log("Opened Search for Element: "); SearchOverlay.classList.add("show-search"); }) }) // Hide closeSB.onclick = function() { console.log("Closed Search for Element: " + closeSB); SearchOverlay.classList.remove("show-search"); }; }, true); - 10-09-2022, 18:55:46Yok hocam olmuyor. Birde kodda sorun var sanırım }) fazla mı ney editör kırmızı gösteriyor en sonu şu şekilde;burak2yilmaz adlı üyeden alıntı: mesajı görüntüle

- 11-09-2022, 18:20:27Tamamdır, halloldu. Çalışan son hali şu şekilde;burak2yilmaz adlı üyeden alıntı: mesajı görüntüle
var wHeight = window.innerHeight; var sb = document.querySelectorAll(".search-button"); var closeSB = document.querySelector(".search-close"); var SearchOverlay = document.body; var searchBar = document.querySelector(".search-bar"); // Show searchBar.style.top=wHeight/2 +'px'; console.log(wHeight); window.addEventListener("resize", function() { console.log(wHeight); wHeight = window.innerHeight; searchBar.style.top=wHeight/2 + 'px'; }, true); sb.forEach(sb => { document.addEventListener("click", function() { sb.onclick = function() { console.log("Opened Search for Element: "); SearchOverlay.classList.add("show-search"); }; }); // Hide closeSB.onclick = function() { console.log("Closed Search for Element: " + closeSB); SearchOverlay.classList.remove("show-search"); }; }, true);
