Voici une suggestion: utilisez id à la place. Si vous avez:
<div id="something">
Ensuite, page.html#something
vous amènera directement à ce div. Il ne doit pas être un div
, il peut être utilisé sur n'importe quel élément. Si vous pouvez manipuler le DOM pour ajouter cette ancre, je suis sûr que vous serez capable de le faire.
maintenant ... Pour y arriver, vous pouvez utiliser:
// this approach should work with anchors too
window.location.hash = 'something';
// or scroll silently to position
var node = document.getElementById('something');
window.scroll(0, node.offsetTop);
voir en action ici: http://ablazex.com/demos/jump.html
Il existe des différences subtiles entre les méthodes. Par exemple: Le premier fera que l'emplacement sur la barre d'adresse sera mis à jour, le second ne le sera pas.
Si vous voulez que ce soit plus beau, vous pouvez utiliser un plugin jQuery, comme ScrollTo.
l'a essayé auparavant. il continue d'actualiser la page depuis que j'ai ajouté #spot par programme. – Rana
oh oui. Je n'y ai pas pensé. window.scroll est la meilleure option alors imo – naiquevin