J'ai une liste de liste qui utilise jquery toggle et slideToggle pour que lorsque vous cliquez sur des éléments, le texte explicatif glisse et la classe change sur le h3. Le code HTML pour les éléments ressemble:Utiliser location.hash pour activer jquery toggle/slideToggle
<li><h3><a href="#" target="_blank" id="feature1" name="feature1">What do I know about javascript?</a></h3>
<div class="check_list_wrap feature1">Not a lot, apparently.</div>
</li>
J'ai inclus les fichiers jquery puis écrire ceci dans l'en-tête:
<script type="text/javascript">
$(function() {
$("#listfeatures h3 a").toggle(function(){
$(this).addClass("check_list_selected");
}, function() {
$(this).removeClass("check_list_selected");
});
$("#listfeatures h3 a").click(function() {
$("."+this.id).slideToggle('fast');
return false;
});
});
</script>
Cela fait en sorte que si un lien est cliqué, il basculera le changement de classe de l'h3, l'affichage: bloc/affichage: inline et le glissement hors de la div. Ça fonctionne bien. MAIS, maintenant je le veux pour que, avec une URL comme index.php # feature1, le basculement de cet élément de liste soit activé comme si on avait cliqué dessus. Je sais que je dois utiliser location.hash mais je ne suis pas sûr de savoir comment faire ça. Où devrais-je commencer?
Je suis sûr que vous devez répondre à l'événement 'onload' afin que les nouveaux clics enregistrent quelque chose pour que votre script réponde. L'astuce est que la page ne recharge pas vraiment, mais vous obtenez toujours l'événement. – ErikE