【问题标题】:how to make navigation bar slide from right slide如何使导航栏从右侧滑动
【发布时间】:2017-07-05 21:18:01
【问题描述】:

function openNav() {
     document.getElementsByClassName("menu-overlay").style.width = "50%";
}
function closeNav() {
     document.getElementsByClassName("menu-overlay").style.width = "0";
}
.menu-overlay {
	display: none;
	top: 0;
    height: 100%;
    width: 0%;
	position: absolute;
	z-index: 1;
	right: 0;
	background-color: #ef4f50;
	overflow-x: hidden;
	transition: 0.5s;
}

.menu-body{
	position: fixed;
    top: 0;
    z-index: 99999;
    right: 0;
    height: 100%;
	background-color: #ef4f51;
	width: 35%;
	float: right;
}

span.closer {
    font-size: 50px;
    float: right;
    color: white;
    padding: 30px;
}

.menu-pan{
    width: 100%;
    float: left;
    padding: 0 80px;
}
.menu-pan li {
	padding: 10px 0;
}
.menu-pan li a {
    color: white;
    text-decoration: none;
    font-size: 32px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/css/simple-line-icons.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
      <div class="header-top clearfix">
        <a href="https://www.google.co.in/" target="_blank" class="pull-right btn btn-danger btn-round">DONATE NOW</a>
        <a class="l-right toggle-menu" href="#" onclick="openNav()">
          <span class="icon-menu"></span>
        </a>
      </div>

      <div class="menu-overlay">
        <div class="menu-body">
          <a href="#"><span class="closer"><i class="icon-close icons" onclick="closeNav()"></i></span></a>
          <ul class="menu-pan">
            <li><a href="#">Home</a></li>
            <li><a href="#">About</a></li>
            <li><a href="#">Our Purpose</a></li>
            <li><a href="#">HOME</a></li>
            <li><a href="#">Contact</a></li>
          </ul>
        </div>
      </div>
    </header>

您好,这是我的菜单条码。我希望当我单击右侧的汉堡包图标时打开导航栏,并带有宽度为 50% 的过渡(平滑)效果,其余部分将被覆盖。 “https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay”这个链接效果一样,但是从左到右。

【问题讨论】:

  • #mySidenav 元素在哪里?
  • 你在 jsfiddle 中有你的代码吗?
  • 对不起,我只是混淆了我以前的代码。我现在更新了代码。我想打开“菜单覆盖”类
  • 你在哪里调用openNav()函数?我可以看到 2 个 closeNav(),但看不到一个 openNav()
  • 我已经更新了我的代码

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

getElementsByClassName 函数返回一个数组,所以使用getElementsByClassName("menu-overlay").style 是不正确的。而是像这样使用它:

function openNav() {
     document.getElementsByClassName("menu-overlay")[0].style.width = "50%";
}
function closeNav() {
     document.getElementsByClassName("menu-overlay")[0].style.width = "0";
}

【讨论】:

    猜你喜欢
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2017-10-11
    • 2019-03-19
    • 1970-01-01
    • 2015-10-16
    • 2019-05-06
    相关资源
    最近更新 更多