2017-12-02 26 views
1

對於我的項目,只有在屏幕尺寸等於或大於800像素的情況下,我才需要視差滾動效果。要做到這一點,我寫了下面的代碼:僅當最小寬度爲800px時才執行Javascript

<script> 
    if (window.screen.width >= 800) { 
     function parallax() { 
      var parallax = document.getElementById("box01"); 
      parallax.style.top = -(window.pageYOffset/4) + "px"; 

     } 
    } 

    window.addEventListener("scroll", parallax, false); 

</script> 

視差滾動工作正常,但「window.screen.width」命令是由瀏覽器忽略。意思是:視差滾動也可用於小於800px的屏幕。

任何幫助表示讚賞!

回答

2

window.matchMedia

function executeIfMinWidth800 (e) { 
    if (window.matchMedia('(min-width: 800px)').matches) { 
    // do stuff 
    } 
} 

// call initially 
executeIfMinWidth800(); 

// add handler for resize 
window.addEventListener('resize', executeIfMinWidth800); 
+0

作品!感謝堆! – Sveninho

+0

這是一件事?我愛這是多麼簡單。 –

+0

@PatrickRoberts是的,這對響應式設計非常有用。 –

0

window.screen得到你的大小顯示器

你想要什麼的大小,通過訪問:你在找什麼

// width 
window.innerWidth 
// height 
window.innerHeight 
0

現在你應該試試這個

if (window.matchMedia('(min-width: 800px)').matches) { 
    function parallax() { 
     var parallax = document.getElementById("box01"); 
     parallax.style.top = -(window.pageYOffset/4) + "px"; 

    } 
} else {}; 
window.addEventListener("scroll", parallax, false); 
+0

感謝您的幫助!這工作正常,但只在重新加載。 – Sveninho

+0

@Sveninho如果像我的回答放棄投票我 –

相關問題