gpt4 book ai didi

javascript - 使javascript推送菜单可滚动(无滚动条)

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:50 25 4
gpt4 key购买 nike

我有一个推送菜单(从左到右),它从页面左侧滑出,将页面滑动到右侧。我正在尝试为它添加一个保护措施,如果链接超过页面高度,菜单是可滚动的。现在,它不起作用并且链接被隐藏。谁能帮我弄清楚如何使菜单可滚动。

我已经尝试将 scroll-y: scroll 添加到几个 css 元素,但这似乎没有任何区别。我希望滚动功能可以在手机上使用,也可以通过触摸滚动。

此外,我还想看看如何在菜单打开时禁用“主体”上的滚动。

$(document).ready(function() {
$menuLeft = $('.pushmenu-left');
$nav_list = $('#nav_list');
$nav_list.click(function() {
$(this).toggleClass('active');
$('.pushmenu-push').toggleClass('pushmenu-push-toright');
$menuLeft.toggleClass('pushmenu-open');
});
});
.pushmenu {
background: #444;
text-align: center;
font-family: Tahoma, Geneva, sans-serif;
width: 300px;
height: 100%;
top: 0;
z-index: 1000;
position: fixed;

}

.pushmenu h3 {
color: #f1f1f1;
font-size: 1.3em;
font-weight: 400;
padding: 15px 25px;
margin: 0;
background: #333;
height: 16px;
}

.links {
list-style-type: none;
padding: 0;
margin: 0 0 0 25%;
width: 50%;

}

.links li { margin-top: 30px; }

.links li a {
position: relative;
display: block;
color: #f1f1f1;
font-size: 1.3em;
font-weight: 400;
text-decoration: none;
padding: 14px;
}

.links li a:after {
content: '';
display: block;
position: absolute;
left: 20px;
bottom: -5px;
width: 0;
height: 4px;
background-color: #f1f1f1;
-webkit-transition: width 0.3s ease;
-moz-transition: width 0.3s ease;
transition: width 0.3s ease;
}

.links li a:hover:after { width: 70%; }

.links li a:active { color: #dbdbdb; }

.pushmenu-left { left: -300px; }

.pushmenu-left.pushmenu-open { left: 0; }

.pushmenu-push {
overflow-x: hidden;
position: relative;
left: 0;
}

.pushmenu-push-toright { left: 300px; }



.pushmenu, .pushmenu-push {
-webkit-transition:all 0.5s ease;
-moz-transition:all 0.5s ease;
transition:all 0.5s ease;
}
<body class="pushmenu-push">
<nav class="pushmenu pushmenu-left">
<ul class="links">
<li><a href="index">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Missions</a></li>
<li><a href="#">Partners</a></li>
<li><a href="#">Events</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Give</a></li>


<li><a href="index">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Missions</a></li>
<li><a href="#">Partners</a></li>
<li><a href="#">Events</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Give</a></li>

</ul>
</nav>
</body>

最佳答案

有一个名为 overflow 的 CSS 属性,它在超出可用空间时控制内容。将其设置为自动会自动添加一个滚动条。

pushmenu {
background: #444;
text-align: center;
font-family: Tahoma, Geneva, sans-serif;
width: 300px;
height: 100%;
top: 0;
z-index: 1000;
position: fixed;
overflow: auto;

}

关于javascript - 使javascript推送菜单可滚动(无滚动条),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58533161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com