gpt4 book ai didi

javascript - Font Awesome 图标下拉在移动设备上损坏

转载 作者:行者123 更新时间:2023-11-28 02:27:59 24 4
gpt4 key购买 nike

在我将 Font-Awesome 图标添加到我的导航栏之前,我的下拉菜单工作得很好。在我添加汉堡和时间图标来表示我的菜单后,它不再适用于移动设备和桌面设备。

在第一个问题之后,我尝试更改我的 JS 和调用我的 JS 函数的元素;我设法让它在桌面上工作,但移动仍然坏了。

问题:
对于移动设备,当我单击汉堡图标时,没有任何反应。
对于桌面,当我点击汉堡/十字图标时,它正常工作

我试图在下面的代码片段中重现该问题。
不幸的是,我未能重现问题,所以我只是添加了一个指向我的测试站点的链接。

我的问题:如何使用 Font-Awesome 图标作为移动按钮?

主页是唯一添加图标的页面,用于显示问题。

测试站点链接:https://www.azsmtest.com

function dropdown() {
"use strict";
var getBurg = document.getElementById('burg');
var getCross = document.getElementById('cross');
var nav_items = document.getElementsByClassName('nav-item');
var nav_list = document.getElementById('navList');


if (getBurg.style.display === 'none') {
getBurg.style.display = 'block';
getCross.style.display = 'none';
nav_list.style.display = 'none';


for (var i = 0; i < nav_items.length; i++) {
nav_items[i].style.display = 'none';
}

} else {
getBurg.style.display = 'none';
getCross.style.display = 'block';
nav_list.style.display = 'block';


for (var j = 0; j < nav_items.length; j++) {
nav_items[j].style.display = 'block';
}


}
}
.fixed-nav {
font-weight: bold;
top: 0;
left: 0;
width: 100%;
font-size: .8em;
position: fixed;
height: 50px;
box-sizing: border-box;
text-align: center;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16), 0px 3px 6px rgba(0, 0, 0, 0.23);
z-index: 1;
}

.fixed-nav ul {
padding: 0;
list-style-type: none;
list-style-image: none;
margin-top: -3px;
}

.fixed-nav li {
box-sizing: border-box;
}

.fixed-nav li:hover {
display: block;
}

.fixed-nav ul li a {
text-decoration: none;
margin: 0px;
}

.fixed-nav ul li a:hover {}

.fixed-nav a {
text-decoration: none;
}

#burg {
background: none;
position: absolute;
top: 0;
right: 0;
line-height: 45px;
padding: 2px 15px 0 15px;
border: 0;
vertical-align: middle;
font-size: 30px;
font-weight: bold;
cursor: pointer;
outline: none;
}

#cross {
background: none;
position: absolute;
top: 0px;
right: 0px;
padding: 8px 15px 0px 15px;
font-size: 30px;
border: 0;
font-weight: bold;
cursor: pointer;
outline: none;
display: none;
}

.nav-item {
position: relative;
height: 70px;
width: 100%;
display: none;
font-size: 20px;
cursor: pointer;
}

.nav-item a {
display: block;
height: 100%;
}

.nav-item:hover {
background-color: #DFDFDF;
}

.nav-item:hover a {
text-decoration: none;
}

#navList {
margin-top: 50px;
height: 100vh;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>

<head>


<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/solid.css" integrity="sha384-VGP9aw4WtGH/uPAOseYxZ+Vz/vaTb1ehm1bwx92Fm8dTrE+3boLfF1SpAtB1z7HW" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/fontawesome.css" integrity="sha384-1rquJLNOM3ijoueaaeS5m+McXPJCGdr5HcA03/VHXxcp2kX2sUrQDmFc3jR5i/C7" crossorigin="anonymous">
</head>

<body>

<nav class="fixed-nav">
<div id="burg">
<i id="burger_icon" class="fas fa-bars" onClick="dropdown()"></i>
</div>
<div id="cross">
<i id="cross_icon" class="fas fa-times" onClick="dropdown()"></i>
</div>
<ul id="navList">
<div class="nav-item">
<a href="#"><li>Inventory</li></a>
</div>
<div class="nav-item">
<a href="#"><li>Finance</li></a>
</div>
<div class="nav-item">
<a href="#"><li>About Us</li> </a>
</div>
<div class="nav-item">
<a href="#"><li>Contact Us</li></a>
</div>
</ul>

</nav>


</body>

</html>

最佳答案

我希望这对你有用,我一直在使用 FA 图标作为按钮,将它们引入另一个元素(如 div 或链接)中,然后使用 JavaScript 使其作为按钮工作。示例:

<div id="button">
<i class="fas fa-sort-down"></i>
</div>

<script>
$(document).ready(() => {
$('#button').click(//anything you want);
});
</script>

您还可以在 div 中使用 onClick 属性:

<div id="button" onClick="">
<i class="fas fa-sort-down"></i>
</div>

希望这对您有所帮助,我从来没有遇到过错误或无法使用像这样的 FA 图标在移动设备或桌面设备上工作。

关于javascript - Font Awesome 图标下拉在移动设备上损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52748926/

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