2012-02-17 7 views
-5

Pourquoi appeler la fonction JavaScript, fonctionne bien à certains endroits dans le code et donne à ma fonction n'est pas définie à l'autre endroit dans le code dans la même page!La fonction javascript n'est pas définie?

fonction js:

function loadActivityInfo(id){ 
/// code goes here 
    $("#location_details_div").fadeIn(1000,function(){ 
     getRating(id); 
     getRateAverage(id); 
     getActivityInfo(id); 
     goToLocation(id); 

    //scroll inimate to top 
    $('html,body').animate({ 
    scrollTop: $("#location_details_div").offset().top - 60 
    }, 1000); 
    }); 
} 

appel ici, fonctionne très bien:

$(".img-describtion").live("click",function(){ 
    resetRating(); 
    var id = $(this).attr("id"); 
    location.hash= id; 
    loadActivityInfo(id); 
}); 

mais ici me donne le funcation n'est pas défini:

$(".btnShowLocationInfo").live("click",function(){ 
     var id =$(this).attr("id").split(",")[1]; 
       alert(id); 
       location.hash= id; 
       loadActivityInfo(id); 
    }); 
+0

Où exécutez-vous le code? Dans le corps? Dans la tête dans une fonction init? – rekire

Répondre

2

Vous devez attendre que le Le document Compleat est téléchargé.

E.g. il n'est pas possible d'appeler une fonction en ligne si vous incluez la fonction plus tard. Pour les rappels, ce n'est pas un problème.

Vous pouvez placer votre code initial sur l'événement onload.

<body onload="doinit();"> 
Questions connexes