jquery 取消Java Script onclick功能后,打开窗口

vjhs03f7  于 2024-01-07  发布在  jQuery
关注(0)|答案(1)|浏览(141)

我试图使内容显示在点击,但只有在屏幕宽度为700像素。如果用户按下按钮,并调整其窗口大小,内容消失。
基本上,我的代码看起来像这样:

  1. function myFunction() {
  2. var dropdownContent = document.getElementById('dropdown-content');
  3. var landing = document.getElementById('landing');
  4. const mediaQuery = window.matchMedia('(max-width: 700px)')
  5. if (dropdownContent.style.display == "none" && mediaQuery.matches) {
  6. dropdownContent.style.display = "block";
  7. landing.style.display = "none";
  8. } else {
  9. landing.style.display = "block";
  10. dropdownContent.style.display = "none";
  11. }
  12. }
  1. #dropdown-content {
  2. display: none;
  3. }
  4. @media only screen and (max-width: 870px) {
  5. #dropdown-content {
  6. display: none;
  7. }
  8. }
  9. @media only screen and (max-width: 700px) {
  10. #dropdown-content {
  11. display: none;
  12. }
  13. }
  1. <button onclick="myFunction()">About</button>
  2. <div id="dropdown-content" style="display:none"></div>
  3. <div id="landing"></div>

我试着处理媒体查询或各种“window.innerwidth”之类的东西,但似乎什么都不起作用!我猜JavaScript将所有的“display:none”更改为“display:block”,但我只是试图在**@media only screen和(max-width:700 px)**下切换“display:none”。

tf7tbtn2

tf7tbtn21#

我认为你的CSS没问题。媒体查询中的display: none将确保#dropdown-content最初在较小的屏幕上不可见。

  1. //JavaScript Function for Toggle:
  2. function myFunction() {
  3. var dropdownContent = document.getElementById('dropdown-content');
  4. var landing = document.getElementById('landing');
  5. const mediaQuery = window.matchMedia('(max-width: 700px)');
  6. if (mediaQuery.matches) {
  7. dropdownContent.style.display = (dropdownContent.style.display === "none" || !dropdownContent.style.display) ? "block" : "none";
  8. landing.style.display = (dropdownContent.style.display === "block") ? "none" : "block";
  9. }
  10. }
  11. //JavaScript for Window Resize Event:
  12. window.addEventListener('resize', function() {
  13. var dropdownContent = document.getElementById('dropdown-content');
  14. var landing = document.getElementById('landing');
  15. const mediaQuery = window.matchMedia('(max-width: 700px)');
  16. if (!mediaQuery.matches) {
  17. dropdownContent.style.display = "none";
  18. landing.style.display = "block";
  19. }
  20. });

字符串

展开查看全部

相关问题