javascript - 如何使导航栏从右侧滑动

标签 javascript jquery html css twitter-bootstrap

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 "这个链接效果一样,但是从左到右。

最佳答案

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";
}

关于javascript - 如何使导航栏从右侧滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44926790/

相关文章:

javascript - 我怎样才能解决 "Cannot read property ' 定义的未定义”?

javascript - 选择通配符子类并将类添加到父类

javascript - 在 jQuery 中转义姓氏中的单引号

css - 将图像定位在其他图像之上

javascript - 在一段中添加多个 "Read More"链接 (readmore.js)

javascript - Kendo Scheduler,打开编辑时更新事件

javascript - 如何在 Bootstrap 中制作这样的导航栏?

javascript - 网站安全 - 被这个 JS 脚本攻击

jquery - 使用 jQuery 在可见窗口内保持滚动对象

html - 如何在Bootstrap 3.0中修复左侧菜单?