Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 手风琴在IE8中不起作用,但在其他系统中起作用,为什么?_Javascript_Jquery_Internet Explorer 8_Tabs_Accordion - Fatal编程技术网

Javascript 手风琴在IE8中不起作用,但在其他系统中起作用,为什么?

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()

我正在制作一个手风琴内容页面,通过在url字符串的末尾添加锚类型编号来显示页面加载时打开的部分。例如: 网站/accordion_page.html#2

它在Firefox和Chrome中运行良好,但InternetExplorer8没有显示任何手风琴功能。 我在这里包括了一个JSFIDLE:

或者请看下面我的代码,谢谢你的帮助,阿提拉

$(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