<script>
var element = document.getElementById('sitemenu');
element.classList.add('desktop');
window.addEventListener('resize', function(event) {
var currentWidth = Math.min(window.innerWidth || Infinity, screen.width),
currentClass = currentWidth > 870 ? 'desktop' : 'desktop';
element.classList.remove('mobilemenu');
element.classList.add('desktop');
});
</script>yukardaki gibi birşey buldum araştırdığımda. amacım ekran genişliği değiştirildiğinde mobilemenu class ismini silmek yukardaki sanırım çok doğru ve temiz kod olmasa da, genel olarak istediğimi yapıyor. Fakat telefonda sayfayı aşağı kaydırmak bile sınıfı silmesine neden oluyor. Bunu istemiyorum sadece ekran genişliği değiştirilirse silsin istiyorum ama nasıl anlayamadım.
javascript istenmeyen bi durum
8
●65
- 27-02-2021, 17:20:18
- 27-02-2021, 17:26:58Merhabalar,
currentClass = currentWidth > 870 ? 'desktop':'desktop'; // Kodunuzu currentDevice = currentWidth > 870 ? 'desktop':'mobile'; // Şeklinde değiştirerek if(currentDevice === 'mobile' && element.classList.contains('desktop') ) { // Class silip ekleme işlemlerinizi bu if bloğu içine alıp desktop'u kaldırıp mobilemenu ekleme } else if(currentDevice === 'desktop' && element.classList.contains('mobilemenu') ) { // Burada da class silip ekleme işlemlerinizin tam tersi mobilemenu'yu kaldırıp desktop ekleme }Bu şekilde yaparsanız sorununuz çözülecek muhtemelen - 27-02-2021, 17:35:04hocam yazdıklarınızın içinde html etiketleri karışmış. Okuyamıyorum.Misafir adlı üyeden alıntı: mesajı görüntüle
- 27-02-2021, 17:51:32Misafir adlı üyeden alıntı: mesajı görüntüle
Uncaught ReferenceError: currentWidth is not defined hatası veriyor hocam. - 27-02-2021, 18:04:55Bence ihityacınız olan css media fonksiyonu
https://www.w3schools.com/cssref/css3_pr_mediaquery.asp
Sırf bu işlemleri basitleştirmek için farklı çözünürlüklerde classın içeriğini değiştirebiliyorsunuz - 27-02-2021, 18:21:07Evet bu şekildede CSS üzerinde yapabilirsiniz.darness adlı üyeden alıntı: mesajı görüntüle
CSS kodlarınızı yazdıktan sonra
<head></head> tagları arasına
<meta name="viewport" content="width=device-width, initial-scale=1.0">
bu meta tagını yerleştirmeniz gerekir çalışması için