我设法根据 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');
});
@Dan Puzey——
对于那个很抱歉!我是stackoverflow的新手。
我正在使用的基本代码可以在这里找到:massgeneral.org/emergencymedicine/ourdoctors/EM-Listing.htm
我依赖的 ID 是:#clinicalfaculty、#researchfaculty 和 #fellows,可以在我刚才提到的 HTML 的第 34-36 行找到。当用户单击其中一个按钮(带有 ID)时,JavaScript 会隐藏与 ID 关联的其他两个 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
});
});