IDに応じてURLにハッシュタグを追加することができましたが、IE8内でDIVを適切に非表示/表示していません。また、.selected クラスを追加する jQuery の部分が正しく機能していないことに気付きました。誰かが私に専門知識を貸してくれる変更はありますか?Chrome/Firefox/Safari では問題なく動作しますが、恐ろしい IE は頑固なラバです!
お早めにどうぞ!
PS - ここで概説した方法を使用しました: jqueryfordesigners.com/enabling-the-back-button/
これも私が使用しているコードです:
jQuery(window).load(function () {
var selectCont = jQuery('.selectCont > div');
selectCont.hide().filter(':first').show();
jQuery(window).bind('hashchange', function () {
var hash = window.location.hash || '#clinicalfaculty';
selectCont.hide();
selectCont.filter(hash).show();
e.preventDefault();
jQuery('#selectBtn ul.btnNav a').removeClass('selected');
jQuery('a[hash=' + hash + ']').addClass('selected');
});
jQuery(window).trigger('hashchange');
});
@ダン・プジー --
ごめんなさい!私はスタックオーバーフローが初めてです。
私が使用している基本コードは、massgeneral.org/emergencymedicine/ourdoctors/EM-Listing.htm にあります。
私が依存している ID は、#clinicalfaculty、#researchfaculty、および #fellows です。これらは、先ほど参照した HTML の 34 ~ 36 行目にあります。ユーザーがボタンの 1 つ (ID 付き) をクリックすると、JavaScript は ID に関連付けられた他の 2 つの DIV を非表示にし、ユーザーがクリックした ID を表示します。同時に、「戻る」機能のために、ID 名を持つハッシュタグがユーザーに追加されます。ご覧のとおり、Firefox 内では、本来あるべき方法で正確に動作します。ただし、IE8 内で読み込むと、正しく動作しません。
.selected に関しては、.selected クラスをボタンに適用してカスタム スタイルを適用し、ボタンが選択され、そのボタンに関連付けられているコンテンツが現在表示されていることをユーザーに視覚的に通知できるようにしたいと考えました。表示されています。ただし、.selected がクラスとして適切に追加されていません。理由もよくわかりません。
フィルタリングを適切に操作するために作成した最初の jQuery を以下に示します。ただし、# ハッシュタグを追加せず、「戻る」ボタンの使用をサポートしていませんでした。
var index = 0, hash = window.location.hash;
jQuery(window).load(function(){
jQuery('#selectBtn a').click(function(e) {
jQuery('.selectCont > div').hide();
jQuery(this.hash).show();
e.preventDefault(); //to prevent scrolling
});
});