3

J'ai du mal à charger JQuery dans IE7, fonctionne bien dans tous les autres navigateurs, firefox, safari, opéra, IE8, mais pas dans IE7.Javascript ne se charge pas dans IE7

Si quelqu'un a une quelconque idée de pourquoi, s'il vous plaît faites le moi savoir.

Merci beaucoup,

Q

C'est avant la

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

Répondre

13

Le problème est les virgules de fuite; IE n'aime pas ceux-ci. Voici une, par exemple:

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

Il ne les aime pas initialiseurs de tableau non plus.

+0

+1. Oui, cela signifie que vous devez être très vigilant avec les opérations de copier/coller lorsque vous travaillez avec des littéraux de tableau ou d'objet. Assurez-vous que le dernier élément ne contient pas la virgule ou vous avez vous-même une erreur de syntaxe dans IE. –

+0

C'est le problème. Ça m'arrive beaucoup et ça me rend fou parce que ça peut être si difficile à trouver. – Josh

0

Vous pourriez vous épargner un tas de taper simplement en déclarant que bloc de paramètres une fois:

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

alors utilisez simplement par son nom:

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

Vous pouvez également constater que vous pouvez configurer tous vos ancres avec un appel:

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

Je pense que c'est à cause des virgules supplémentaires dans la propriété inscription.

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

Vous pouvez également combiner tous les éléments dans un seul sélecteur pour économiser la taille de fichier. Je ne sais pas si vous avez besoin de la flexibilité pour les transitions cependant.

$("a[rel=annsummers], a[rel=sportingbet], a[rel=sportingbet], a[rel=ryman]").fancybox({ 
     'transitionIn'  : 'fade', 
     'transitionOut'  : 'fade', 
       'titlePosition'  : 'over' 
    }); 
Questions connexes