#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня есть три страницы: main.html, nav.html, sidebar.html
Я разделил навигацию и боковую панель для своего проекта. На странице навигации у меня есть кнопка для сворачивания страницы боковой панели. Я использую bootstrap framework для темы. Но когда я отделяю его, боковая панель не сворачивается при нажатии кнопки на навигаторе. Вот код main.html
<link href="global/css/icons/icomoon/styles.css" rel="stylesheet" type="text/css">
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<script src="global/js/main/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$( "#nav" ).load( "inc/nav.html" );
$( "#sidebar" ).load( "inc/sidebar.html" );
});
</script>
<div id="nav"></div>
<div class="page-content" style="padding-bottom:70px;">
<div id="sidebar"></div>
<div class="content-wrapper bg-white">
<div class="content">test</div>
</div>
</div>
И это nav.html
<div class="navbar navbar-expand-md navbar-dark bg-indigo navbar-static" style="background:#81018d;">
<div class="navbar-brand">
<a href="#" class="d-inline-block">
<img src="../../assets/images/logo/headerwhite.png" alt="">
</a>
</div>
<div class="d-md-none">
<button class="navbar-toggler sidebar-mobile-main-toggle legitRipple" type="button">
<i class="icon-paragraph-justify3"></i>
</button>
</div>
</div>
И sidebar.html
<div class="sidebar sidebar-dark sidebar-main sidebar-expand-md">
<div class="sidebar-content">
<div class="card card-sidebar-mobile">
<ul class="nav nav-sidebar" data-nav-type="accordion">
<li class="nav-item-header"><div class="text-uppercase font-size-xs line-height-xs">Main</div> <i class="icon-menu" title="Main"></i></li>
<li class="nav-item"><a href="#" class="nav-link active">Menu Beranda</a></li>
<li class="nav-item"><a href="#" class="nav-link">Transaksi</a></li>
</ul>
</div>
</div>
</div>
Комментарии:
1. Bootstrap инициализирует элементы управления только при загрузке DOM (по умолчанию). Вам также необходимо сделать это в рамках обратного вызова
load()
методов для создания экземпляров элементов управления, которые были динамически добавлены в DOM. Однако стоит отметить, что использование AJAX для включения содержимого на каждой странице — не лучшая идея, поскольку вы добавляете дополнительные ненужные запросы на свой сервер. Вместо этого исследуйте включения на стороне сервера, предполагая, что ваш хостинг их поддерживает2. В дополнение к вышесказанному, если вы загрузите навигационную панель / боковую панель через ajax, вы получите флэш-файл с нестайлинговым контентом (FOUC), где будет отображаться ваша страница, ваш пользователь начнет читать, затем содержимое будет перемещаться по мере загрузки других частей. Это не доставляет удовольствия пользователю.
3. Я думаю, что мне нужно разделить его, потому что у меня так много страниц. Итак, если я отредактирую nav.html отображение также будет меняться на каждой странице. Поэтому мне нужно его разделить. Есть ли какая-либо другая идея сделать это, я имею в виду. Если мы используем его в PHP, мы используем только sintax include («url»), чтобы заставить его работать. Но мне нужно, чтобы это работало в html, а не в PHP. Пожалуйста, приведите решение и пример…
4. Может ли кто-нибудь помочь…