【发布时间】:2023-03-28 10:28:01
【问题描述】:
我对 Javascript 还很陌生,我正在努力优化我的代码。
所以这只是我做的一个简单的菜单切换,我想知道是否有办法更好地优化它,因为我处理菜单的功能几乎相同。
jQuery(function($) {
$(".open-menu").click(function(event){
event.preventDefault();
$('.menu').addClass('active');
} );
$(".close-menu").click(function(event){
event.preventDefault();
$('.menu').removeClass('active');
} );
});
.menu {
position: absolute;
left: 0;
top: 0;
width: 100%;
background: #f4f7fc;
margin-left: -100%;
transition: margin-left .5s ease;
}
.active {
margin-left: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu">
<ul>
<li><a href="#close-menu" class="close-menu">Close</a></li>
<li><a href="#">Home</a></li>
<li><a href="#about">About our project</li></a>
</ul>
</div>
<a href="#open-menu" class="open-menu">Open menu</a>
【问题讨论】:
-
我认为你所拥有的是优化的
-
“我觉得我错过了什么”:请详细说明。
-
您是否考虑过使用
<button type="button">代替锚元素来切换菜单状态?当您需要导航到其他地方时,应使用锚点。您不需要这种行为,实际上您的 JS 代码告诉浏览器停止默认行为。按钮会更适合您的用途。 -
但是按钮的样式不是很难吗?
标签: javascript jquery html css optimization