まず第一に、私はオンラインでそれについて多くのことを読み、適切に実装できないことがわかったすべてのソリューション、いくつかの問題を修復したが、他の問題を作成したことを言いたかった. もう1つのことは、評判が低い(noob)ため、他の投稿にコメントできないことです。それができれば、新しい質問を投稿することはありません。
Web サイトの各部分に異なるページを持つナビゲーション バーを備えた Web サイトを作成しています: Home.html、AboutUs.html...
ナビゲーションバーを実装しましたが、ナビゲーションバーの同じコードを各ページに貼り付けるのは良い解決策ではないと思うので、最適化する方法を探しました。
今のところ、別のサイト (Navbar.html) を作成し、それを他のページに追加したところ、見栄えがよくなりました。
<script>
$(function(){
$("#navbar").load("Navbar.html");
});
</script>
そして体内:
<div id="navbar"></div>
「アクティブな」クラスを自動化しようとしたときに問題が発生しました。そのために、 data-toggle='tab' と data-toggle='pill' の両方を試しましたが、どちらの場合もアクティブは変更されましたが、ボタンをクリックしても Web サイトは変更されませんでした。コードがあります:
<ul class="nav navbar-nav" >
<li class="menuText"><a href="Home.html" data-toggle="tab" >Home</a></li>
<li class="menuText"><a href="AboutUs.html" data-toggle="tab" >About Us</a></li>
<li class="menuText"><a href="Donate.html" data-toggle="tab" >Donate</a></li>
<li class="menuText"><a href="Volunteer.html" data-toggle="tab" >Volunteer</a></li>
<li class="menuText"><a href="Contact.html" data-toggle="tab" >Contact</a></li>
</ul>
また、.js ファイルを使用してリダイレクトしようとしました。
$('#home').load('Home.html');
$('#aboutus').load('AboutUs.html');
$('#donate').load('Donate.html');
$('#volunteer').load('Volunteer.html');
$('#contact').load('Contact.html');
それは完全に機能し、ボタンをクリックするとページが変更されましたが、下にスクロールすると、変更中のページの下に常に開いた最初のページがあることがわかりました。(これを説明するのは難しいです、あなたが理解してくれることを願っています)
また、オンラインで見つけた多くの機能を追加しようとしましたが、それらが機能しているかどうかはよくわかりませんでした。それらを正しく、または間違った場所に実装していないと思います。私はhtmlの初心者です。関数を呼び出す方法がよくわかりません:S 例:
$(function(){
var hash = window.location.hash;
hash && $('ul.nav a[href="Home.html"]').tab('show');
$('.nav-tabs a').click(function (e) {
$(this).tab('show');
var scrollmem = $('body').scrollTop();
window.location.hash = this.hash;
$('html,body').scrollTop(scrollmem);
});
});
とにかく私はそれを行うことができますか、または各ページの「アクティブな」クラスを自動化する別の方法はありますか?
お時間をいただきありがとうございます