J'utilise jQuery et l'identificateur de fragment pour créer un changement d'état en fonction de la partie d'un site d'une page que l'utilisateur est en train de regarder.Puis-je forcer les navigateurs WebKit à afficher l'identifiant de fragment?
J'ai finalement réussi à faire fonctionner cela mais comme Safari et Chrome n'afficheront pas l'identifiant de fragment, je ne peux pas le transformer en variable et donc le système tombe en panne.
Existe-t-il un moyen de forcer cette action spécifiquement pour les navigateurs WebKit ou une autre façon d'accéder au fragment?
modifier: code ajouté ci-dessous
(function($){
$.fn.sectionMove = function() {
return this.each(function() {
$(this).click(function() {
if(window.location.hash){
var $hash = window.location.hash;
} else if (!window.location.hash) {
var $hash = '#section1';
}
$n = $hash.substring($hash.length-1,$hash.length);
$("div#headerNav ul li:nth-child(" + $n + ") a").removeClass('on');
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1000,'easeInOutExpo', function(){
var $hash = window.location.hash;
$n = $hash.substring($hash.length-1,$hash.length);
$("div#headerNav ul li:nth-child(" + $n + ") a").addClass('on');
});
event.preventDefault();
});
});
};
})(jQuery);
Et quel jQuery utilisez-vous? Peut-on le voir? –
Désolé, j'ai ajouté le code ci-dessus. – Ian
pas de soucis (c'est juste que ça nous aide à vous aider si nous pouvons voir avec quoi vous travaillez), et si vous répondez à quelqu'un dans les commentaires préfixant leur nom d'affichage (dans mon cas soit David ou David Thomas ') avec le symbole '@' me permet de savoir qu'il y a une réponse. Et, aussi, bienvenue à Stackoverflow! =) –