手风琴不在IE8中工作,但在其他人工作,为什么?

时间:2014-06-17 20:05:21

标签: javascript jquery internet-explorer-8 tabs accordion

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

它在Firefox和Chrome中运行良好,但Internet Explorer 8没有显示任何手风琴功能。 我在这里添加了一个jsfiddle:http://jsfiddle.net/w4v34/1/

或者,请参阅下面的代码,感谢您的帮助,Attila

$(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;
  });
});

1 个答案:

答案 0 :(得分:0)

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

更新小提琴:

点击ME

参考:

Here

@OP 请在发布之前尝试搜索您的问题/错误。感谢