Я хочу подключить навигационную панель, которая принимает контент из JSON, и использовать jquery для открытия и закрытия другого контента из JSON.Я действительно не знаю, как подключить jquery к панели навигации, которая получает информацию из JSON.
Я пытался найти проблему в Google, но нигде не нашел решения.
Скрипт
<script>
$.getJSON('events.json', function (data) {
var $menu = $('#navbarNav ul.navbar-nav');
$.each(data, function () {
var url = this.url || '#';
$menu.append(
'<li class="nav-item">' +
'<a class="nav-link" href="' + url + '">' + (this.name || this.id) + '</a>' +
'</li>'
);
});
});
</script>
<script>
$(document).ready(function () {
$('#show').click(function () {
$('.menu').toggle("slow");
});
});
</script>
<script>
$(document).ready(function () {
$.getJSON('results.json', function (data) {
var results_table = '';
$.each(data, function (key, value) {
results_table += '<tr>';
results_table += '<td>' + value.Rank + '</td>';
results_table += '<td>' + value.Country + '</td>';
results_table += '<td>' + value.Athlete + '</td>';
results_table += '<td>' + value.Time + '</td>';
results_table += '<td>' + value.Points + '</td>';
results_table += '</tr>';
});
$('#results_table').append(results_table);
});
});
</script>
HTML
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Events</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
</div>
</nav>
<div id="show">test</div>
<div class="container">
<table class="table table-borderless menu" id="results_table" style="display: none;">
<thead>
<tr>
<th scope="col">Rank</th>
<th scope="col">Country</th>
<th scope="col">Athlete</th>
<th scope="col">Time</th>
<th scope="col">Points</th>
</tr>
</thead>
</table>
</div>
JSON
[
{
"id" : "1",
"name" : "100m"
},
{
"id" : "2",
"name" : "Long Jump"
},
{
"id" : "3",
"name" : "Shot Put"
},
{
"id" : "4",
"name" : "High Jump"
}
]
JSON_2
[
{
"Rank": "1",
"Country": "JPN",
"Athlete": "Akihiko Nakamura",
"Time": "4:18.370",
"Points": "823"
},
{
"Rank": "2",
"Country": "AUS",
"Athlete": "Cedric Dubler",
"Time": "4:32.120",
"Points": "731"
},
{
"Rank": "3",
"Country": "AUT",
"Athlete": "Dominik Distelberger",
"Time": "4:33.470",
"Points": "722"
},
{
"Rank": "4",
"Country": "EST",
"Athlete": "Karl Robert Saluri",
"Time": "4:39.400",
"Points": "684"
},
{
"Rank": "5",
"Country": "POL",
"Athlete": "Pawel Wiesiolek",
"Time": "4:42.270",
"Points": "666"
},
{
"Rank": "DNF",
"Country": "CZE",
"Athlete": "Jiri Sykora",
"Time": "Did not finish",
"Points": "0"
}
]