Re, désolée pour le p'tit délai.
J'étais sure qu'on pouvait mettre des pièces jointes mais apparemment non et comme j'ai pas d'hébergeur, j'ai fait appel à un ami Jean-Pierre (ok c'est nul)
On peut mais c'est un peu caché (onglet "Ajouter des fichiers joints" caché par défaut, sous le formulaire de post).
Pas de quoi, ton problème est intéressant. Merci à toi d'avoir reconstruit et posté un exemple malgré tes contraintes.
J'ai fait quelques tests en m'appuyant sur les infos de la page officielle du plugin et son code source non-compressé dans sa dernière version :
http://www.baijs.nl/tinyscrollbar/
http://www.baijs.nl/tinyscrollbar/js/jq ... rollbar.js
Apparemment il ne supporte pas les ancres nommées de base (pas bon pour toi). De plus, le plugin s'appuie sur du positionnement et des propriétés CSS (alors que le navigateur, pour scroller, manipule la propriété scrollTop de manière tardive - et pas sur le même élément bien sûr).
Si j'étais toi je changerais de plugin, je me souviens qu'il existe des alternatives qui ne posent pas ce souci (sans me rappeler du nom exact toutefois donc je ne peux pas te donner de lien...). Mais si tu tiens vraiment à le garder, tu peux peut-être compenser le problème avec le code suivant, qui donne quelques résultats (page2.html), en tout cas c'est un point de départ si tu veux poursuivre le contournement :
<script type="text/javascript">
function fixScroll(){
// On récupère la valeur du scrollTop du viewport (correspondant à un scroll du browser pour atteindre une ancre)
var anchorScroll=$j('#divkiscroll').find('.viewport').get(0).scrollTop;
// On remet le scrollTop à 0
$j('#divkiscroll').find('.viewport').get(0).scrollTop=0;
// On injecte cette valeur dans le plugin pour rafraichir la scrollBar en bonne position.
$j('#divkiscroll').tinyscrollbar_update(anchorScroll);
return true;
}
$j(document).ready(function(){
$j('#divkiscroll').tinyscrollbar(); // initialisation du plugin
window.setTimeout("fixScroll()",150); // On appel le refresh au bout de 150ms (valeur arbitraire, chez moi ça marche)
$j(window).bind('hashchange',fixScroll); // l'event hashchange est appelé en cas de clic d'une ancre nommée intrapage.
});
</script>
</head>
<body>
......
<button onclick="fixScroll()">fix scroll</button>
</body>
</html>
La fonction fixScroll fait bien son boulot, c'est + au niveau du reste (liaison avec les évènements, timeout) qu'il y aurait des tests & ajustements à faire. Je te passe la main
