Je pense que ce n'est peut-être pas possible, je vais essayer d'expliquer du mieux que je peux. J'ai une page contenant des onglets (jquery powered), contrôlés par ce qui suit:
J'utilise ce code, tel que fourni par un autre utilisateur à partir d'une question précédente.
<script type="text/javascript">
$(function() {
$('html, body').animate({scrollTop:0}); // this is my "fix"
var tabContent = $(".tab_content");
var tabs = $("#menu li");
var hash = window.location.hash;
tabContent.not(hash).hide();
if(hash=="") {
$('#tab1').fadeIn();
}
tabs.find('[href=' + hash + ']').parent().addClass('active');
tabs.click(function() {
$(this).addClass('active').siblings().removeClass('active');
tabContent.hide();
var activeTab = $(this).find("a").attr("href");
$(activeTab).fadeIn();
return false;
});
});
</script>
ce code fonctionne très bien lorsque je visite directement la page "onglets".
cependant, j'ai besoin de créer un lien vers des onglets individuels à partir d'autres pages - pour ce faire, le code obtient window.location.hash
alors l'onglet approprié.
la page ne "saute" pas à l'ancre à cause de "return false".
cet événement n'est cependant déclenché que sur un événement de clic. par conséquent, si je visite mes "onglets" depuis n'importe quelle autre page, l'effet "saut" est déclenché. Pour lutter contre cela, je fais défiler automatiquement vers le haut de la page, mais je préférerais que cela ne se produise pas.
y a-t-il un moyen de simuler "return false" lorsque la page se charge, empêchant le "saut" d'ancre de se produire.
J'espère que c'est assez clair.
Merci