2010-09-14 17 views
2

J'ai ce page que j'ai un diaporama de rotation en cours d'exécution. Je l'ai en train de changer chaque seconde pour les tests. Le diaporama fonctionne très bien mais l'arrêter n'est pas facile pour une raison quelconque. J'ai un lien sur le dessus qui devrait l'arrêter.Une raison pour laquelle ce .click ne fonctionne pas

Ceci devrait arrêter le script mais ne le fait pas. Mais si vous ouvrez firebug et collez cette ligne dans la console, le script s'arrête. Ce qui donne?

$('#slideshow').cycle('stop'); 

Répondre

5

avait juste regarder de plus près votre code et vous émettons le javascript en dehors de vos $(document).ready(...) gestionnaires et avant l'élément dans le code HTML, de sorte que vous essayez de joindre l'événement à un élément qui n » t existe.

Déplacez votre gestionnaire de clic à l'intérieur d'un $(document).ready(...) ou placez-le sous le lien dans le fichier html.

2

Il est peut-être un problème de synchronisation, la charge de la page Je reçois ce message dans Firebug:

[cycle] terminating; zero elements found by selector 
[cycle] terminating; too few slides: 1 
[cycle] terminating; zero elements found by selector 
[cycle] terminating; zero elements found by selector 
[cycle] terminating; zero elements found by selector 
[cycle] terminating; zero elements found by selector 

Toutefois, si j'exécute le code suivant après le chargement de la page, le lien fonctionne correctement.

$('.stop').click(function(){ 
$('#slideshow').cycle('stop'); 
}); 
0

avez-vous plus d'un des éléments auxquels la classe « stop » a été ajouté dans ce cas, vous pourriez rencontrer un problème. si ce qui précède est le cas, vous pouvez essayer ce qui suit:

$('a.stop').click(function(){ 
    $('#slideshow').cycle('stop'); 
}); 

si vous avez plus d'un lien avec un arrêt de classe alors si vous voulez lier chacun d'entre eux que vous devriez faire quelque chose comme ça

$('a.stop').each(function(){ 
$(this).each("click",function(){ 
    $('#slideshow').cycle('stop'); 
}); 
}); 

Si vous souhaitez lier un seul des liens, ajoutez simplement une propriété id, puis liez-la à l'élément après avoir obtenu l'élément par id.

Remarque: Je suppose que vous liez les éléments après le chargement de la page uniquement.