Javascript 手风琴在IE8中不起作用,但在其他系统中起作用,为什么?
我正在制作一个手风琴内容页面,通过在url字符串的末尾添加锚类型编号来显示页面加载时打开的部分。例如: 网站/accordion_page.html#2 它在Firefox和Chrome中运行良好,但InternetExplorer8没有显示任何手风琴功能。 我在这里包括了一个JSFIDLE: 或者请看下面我的代码,谢谢你的帮助,阿提拉Javascript 手风琴在IE8中不起作用,但在其他系统中起作用,为什么?,javascript,jquery,internet-explorer-8,tabs,accordion,Javascript,Jquery,Internet Explorer 8,Tabs,Accordion,我正在制作一个手风琴内容页面,通过在url字符串的末尾添加锚类型编号来显示页面加载时打开的部分。例如: 网站/accordion_page.html#2 它在Firefox和Chrome中运行良好,但InternetExplorer8没有显示任何手风琴功能。 我在这里包括了一个JSFIDLE: 或者请看下面我的代码,谢谢你的帮助,阿提拉 $(document).ready(function() { var allPanels = $('.accordion > dd').hide()
$(document).ready(function() {
var allPanels = $('.accordion > dd').hide();
var allControlIcons = $('.accordion > span');
var urlString = $(location).attr('hash').slice(1);
var startN = (parseInt(urlString))-1; // minus one to make it zero based for the eq: numbering
console.log(startN);
$('.accordion dd:eq('+startN+')').addClass('active').show();
$('.accordion dt:eq('+startN+')').find('span').
empty().html('–');
$('.accordion > dt > a').click(function() {
$this = $(this);
$target = $this.parent().next();
$control = $this.find('span');
$('.accordion').find('span').empty().html('+');
$this.closest('dt').find('span').empty().html('–');
if(!$target.hasClass('active')){
allPanels.removeClass('active').slideUp("fast");
$target.addClass('active').slideDown("fast");
}
return false;
});
});
修正:
更新小提琴:
点击
参考:
@OP
请尝试在发布前搜索您的问题/bug。谢谢谢谢!我已经研究过与IE8 bug相关的“accordio”,但我没有想到“console”实际上是在为IE8制造麻烦。我建议您使用它进行调试
console.log(startN); // this is where you get your error on IE8
if (!window.console){ console = {log: function() {}} }; // works perfectly on IE8,chrome and FF