3

У меня возникли проблемы с загрузкой JQuery в IE7, отлично работает во всех других браузерах, firefox, safari, opera, ie8 просто не в IE7.Javascript не загружается в IE7

Если у кого-нибудь есть идея, почему, пожалуйста, дайте мне знать.

Большое спасибо,

Q

Это перед

<script src="js/jquery.js" type="text/javascript"></script> 
<script src="js/plugins.js" type="text/javascript"></script> 

<script type="text/javascript"> 
$(function(){ 
$('#coda-slider-1').codaSlider(); 
    $('#coda-services-1').codaSlider(); 
     $('#coda-work-1').codaSlider(); 

$("a[rel=rab]").fancybox({ 
       'transitionIn' : 'fade', 
       'transitionOut' : 'fade', 
         'titlePosition'  : 'over', 
      }); 
$("a[rel=annsummers]").fancybox({ 
       'transitionIn' : 'fade', 
       'transitionOut' : 'fade', 
         'titlePosition'  : 'over', 
      }); 
$("a[rel=sportingbet]").fancybox({ 
     'transitionIn'  : 'fade', 
     'transitionOut'  : 'fade', 
       'titlePosition'  : 'over', 
    }); 
$("a[rel=ryman]").fancybox({ 
     'transitionIn'  : 'fade', 
     'transitionOut'  : 'fade', 
     'titlePosition'  : 'over', 
    }); 
$('a').click(function() { 
    var elementClicked = $(this).attr("href"); 
    var destination = $(elementClicked).offset().top; 
    $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-20}, 1000); 
    return false; 
    }); 
}); 

function formatText(index, panel) { 
      return index + ""; 
     }  
     $(function() { 
      $('.slider').slider({ 
       easing: "easeInOutQuart", 
       autoPlay: true, 
       delay: 3300, 
       startStopped: false, 
       animationTime: 900, 
       hashTags: false, 
       buildNavigation: true, 
       pauseOnHover: true, 
       navigationFormatter: formatText 
      }); 
     $("#slide-jump").click(function(){ 
       $('.slider').slider(6); 
      });  
     }); 
function formatText(index, panel) { 
      return index + ""; 
     }  
     $(function() { 
      $('.history-slider').slider({ 
       easing: "easeInOutQuart", 
       autoPlay: false,  
       delay: 3000,  
       startStopped: false,   
       animationTime: 900,   
       hashTags: false,  
       buildNavigation: false, 
       pauseOnHover: true,  
       navigationFormatter: formatText  
      }); 
     $("#slide-jump").click(function(){ 
       $('.history-slider').slider(6); 
      });  
     }); 

</script> 

ответ

13

Проблема заключается в завершающие запятые; IE не нравится. Вот один, например:

$("a[rel=rab]").fancybox({ 
    'transitionIn' : 'fade', 
    'transitionOut' : 'fade', 
    'titlePosition' : 'over', // <= the trailing comma 
}); 

Он также не нравится в инициализаторах массива.

+0

+1. Да, это означает, что вы должны проявлять особую бдительность при копировании/вставке при работе с массивными или объектными литералами. Убедитесь, что последний элемент не содержит запятую или у вас есть синтаксическая ошибка в IE. –

+0

Это проблема. Бывает со мной много, и это сводит меня с ума, потому что его так трудно найти. – Josh

0

Вы можете сэкономить кучу типизации, просто объявив, что блок параметров сразу:

var fancyboxSetup = { 
    'transitionIn' : 'fade', 
    'transitionOut' : 'fade', 
    'titlePosition'  : 'over' 
}; 

затем просто использовать его по имени:

$("a[rel=rab]").fancybox(fancyboxSetup); 

Вы также можете обнаружить, что вы можете настроить все ваши якоря одним звонком:

$('a[rel]').fancybox(fancyboxSetup); 
0

Я думаю, это из-за дополнительных запятых в собственности листинга.

$("a[rel=sportingbet]").fancybox({ 
     'transitionIn'  : 'fade', 
     'transitionOut'  : 'fade', 
       'titlePosition'  : 'over', <--------- 
    }); 

Кроме того, вы можете объединить все элементы в один селектор, чтобы сохранить размер файла. Я не знаю, нужна ли вам гибкость для транзисторов.

$("a[rel=annsummers], a[rel=sportingbet], a[rel=sportingbet], a[rel=ryman]").fancybox({ 
     'transitionIn'  : 'fade', 
     'transitionOut'  : 'fade', 
       'titlePosition'  : 'over' 
    }); 
Смежные вопросы