Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS使navbar崩溃_Javascript_Html_Css - Fatal编程技术网

Javascript 使用JS使navbar崩溃

Javascript 使用JS使navbar崩溃,javascript,html,css,Javascript,Html,Css,目前,我的导航栏使用@media screen随页面大小而缩小。这很好,但当页面非常小时,我希望导航栏折叠成一个垂直下拉列表,需要单击打开 由于我的情况,我不能使用引导,只有html/css和js 榜样 试试这些……并根据您的要求进行修改 试试这些……并根据您的要求进行修改 因此,您需要一点javascript。这是我从W3学校收到的一个工作示例。您可以在此处阅读全文: 基本上,您要做的是,使用媒体查询隐藏移动视图上的菜单,更改其样式,然后使用javascript显示它们 要使菜单下拉切换正常工

目前,我的导航栏使用@media screen随页面大小而缩小。这很好,但当页面非常小时,我希望导航栏折叠成一个垂直下拉列表,需要单击打开

由于我的情况,我不能使用引导,只有html/css和js

榜样

试试这些……并根据您的要求进行修改

试试这些……并根据您的要求进行修改


因此,您需要一点javascript。这是我从W3学校收到的一个工作示例。您可以在此处阅读全文:

基本上,您要做的是,使用媒体查询隐藏移动视图上的菜单,更改其样式,然后使用javascript显示它们

要使菜单下拉切换正常工作,您需要javascript。Rest由CSS处理

如果您有任何疑问,可以将其放入注释中

/*当用户单击图标时,在向topnav添加和删除响应类之间切换*/ 函数myFunction{ var x=document.getElementByIdmyTopnav; 如果x.className==topnav{ x、 className+=响应性; }否则{ x、 className=topnav; } } /*向顶部导航添加黑色背景色*/ 托普纳夫先生{ 背景色:333; 溢出:隐藏; } /*设置导航栏内链接的样式*/ .topnav a{ 浮动:左; 显示:块; 颜色:F2F2; 文本对齐:居中; 填充:14px 16px; 文字装饰:无; 字号:17px; } /*更改悬停时链接的颜色*/ .topnav a:悬停{ 背景色:ddd; 颜色:黑色; } /*隐藏应在小屏幕上打开和关闭topnav的链接*/ .topnav.icon{ 显示:无; } /*当屏幕宽度小于600像素时,隐藏除第一个主页外的所有链接。显示包含打开和关闭topnav.图标的链接*/ @媒体屏幕和最大宽度:600px{ .topnav a:not:first child{display:none;} .topnav a.icon{ 浮动:对; 显示:块; } } /*当用户单击图标时,响应类将使用JavaScript添加到topnav中。这个类使topnav在小屏幕上看起来很好,垂直显示链接而不是水平显示链接*/ @媒体屏幕和最大宽度:600px{ .topnav.responsive{位置:相对;} .topnav.a.图标{ 位置:绝对位置; 右:0; 排名:0; } .topnav.a{ 浮动:无; 显示:块; 文本对齐:左对齐; } }
因此,您需要一点javascript。这是我从W3学校收到的一个工作示例。您可以在此处阅读全文:

基本上,您要做的是,使用媒体查询隐藏移动视图上的菜单,更改其样式,然后使用javascript显示它们

要使菜单下拉切换正常工作,您需要javascript。Rest由CSS处理

如果您有任何疑问,可以将其放入注释中

/*当用户单击图标时,在向topnav添加和删除响应类之间切换*/ 函数myFunction{ var x=document.getElementByIdmyTopnav; 如果x.className==topnav{ x、 className+=响应性; }否则{ x、 className=topnav; } } /*向顶部导航添加黑色背景色*/ 托普纳夫先生{ 背景色:333; 溢出:隐藏; } /*设置导航栏内链接的样式*/ .topnav a{ 浮动:左; 显示:块; 颜色:F2F2; 文本对齐:居中; 填充:14px 16px; 文字装饰:无; 字号:17px; } /*更改悬停时链接的颜色*/ .topnav a:悬停{ 背景色:ddd; 颜色:黑色; } /*隐藏应在小屏幕上打开和关闭topnav的链接*/ .topnav.icon{ 显示:无; } /*当屏幕宽度小于600像素时,隐藏除第一个主页外的所有链接。显示包含打开和关闭topnav.图标的链接*/ @媒体屏幕和最大宽度:600px{ .topnav a:not:first child{display:none;} .topnav a.icon{ 浮动:对; 显示:块; } } /*当用户单击图标时,响应类将使用JavaScript添加到topnav中。这个类使topnav在小屏幕上看起来很好,垂直显示链接而不是水平显示链接*/ @媒体屏幕和最大宽度:600px{ .topnav.responsive{位置:相对;} .topnav.a.图标{ 位置:绝对位置; 右:0; 排名:0; } .topnav.a{ 浮动:无; 显示:块; 文本对齐:左对齐; } }
首先使用@media隐藏导航栏元素,并将元素更改为列表视图

@媒体屏幕和最大宽度:850px{ //将“最大宽度”替换为您的宽度 ulli{ 显示:块; } 保险商实验室{ 显示:无; } } Showmenu功能切换导航栏元素的可见性

还可以添加一个按钮来触发该功能

希望这对你有所帮助 使用@media取消导航栏元素,并将元素更改为列表视图

@媒体屏幕和最大宽度:850px{ //将“最大宽度”替换为您的宽度 ulli{ 显示:块; } 保险商实验室{ 显示:无; } } Showmenu功能切换导航栏元素的可见性

还可以添加一个按钮来触发该功能


希望这有帮助

嗨,查理。这不是一个完整的问题。关于您尝试或实现的内容,没有足够的细节。我会要求你做一个基础研究,并尝试首先实施一些东西。当您无法实施任何事情时,请向我们提供您所面临问题的详细信息。这将使我们能够更好地帮助你。请参见帮助澄清此问题的页面。我已经尝试过,我能找到的每一个示例都使用bootstrap,显然是因为它更容易,但由于我的情况,我无法使用bootstrap。拥有这样一条线索,以及如何在没有引导的情况下完成这项任务的答案,对我这种情况下的很多人都非常有用。这不是一个完整的问题。关于您尝试或实现的内容,没有足够的细节。我会要求你做一个基础研究,并尝试首先实施一些东西。当您无法实施任何事情时,请向我们提供您所面临问题的详细信息。这将使我们能够更好地帮助你。请参见帮助澄清此问题的页面。我已经尝试过,我能找到的每一个示例都使用bootstrap,显然是因为它更容易,但由于我的情况,我无法使用bootstrap。有这样一条线索,并回答如何在没有引导的情况下完成这项任务,对我这种情况下的很多人都非常有用谢谢,但不幸的是,我需要一个不使用引导的解决方案,但不幸的是,我需要一个不使用引导的解决方案
  <!DOCTYPE html>
<html>
<head>
<style>
ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
}

li {
    float: left;
}

li a, .dropbtn {
    display: inline-block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

li a:hover, .dropdown:hover .dropbtn {
    background-color: red;
}

li.dropdown {
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.dropdown-content a:hover {background-color: #f1f1f1}

.dropdown:hover .dropdown-content {
    display: block;
}
</style>
</head>
<body>

<ul>
  <li><a href="#home">Home</a></li>
  <li><a href="#news">News</a></li>
  <li class="dropdown">
    <a href="javascript:void(0)" class="dropbtn">Dropdown</a>
    <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </li>
</ul>

<h3>Dropdown Menu inside a Navigation Bar</h3>


</body>
</html>
function showmenu()
{
    var x = document.getElementById('myUL');
    if (x.style.display == 'none') {
        x.style.display = 'block';
    } else {
        x.style.display = 'none';
    }
}
<!DOCTYPE html>
<html lang="en">

<head>
<button onclick = 'showmenu();'>click me to see menu</button>
  <ul id='myUL'>
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
  </ul>
</head>


</html>