Yannick Fortin a écrit :
Yannick Fortin a écrit :
> Bonjour à tous et à toutes
>
> J'ai un squelette article.html qui affiche l'ensemble de mon article et à droite une div de taille fixe avec un scroll qui affiche tous les liens des articles qui peuvent être affichés par ce squelette.
> J'aimerai savoir s'il existe une solution en utilisant les ancres (ou autre chose) qui permet de placer le scroll dans la div de droite sur le lien de l'article affiché dans le squelette ?
> De sorte que l'on ne soit pas obligé de scroller dans cette div pour retrouver ce lien.
>
> Merci, en espérant ne pas avoir été trop confus
>
> Yannick
>
Salut !
j'aime bien les énigmes et du coup je me suis arrêté sur ton message 
de ce que j'ai compris tu voudrais,
quand on est dans un article, mettre en avant le titre de cet article lister dans ton menu de droite (mis en scroll) !!
as tu essayé dans un premier temps d'y rajouter la balise expose, comme ça :
<a href="#URL_ARTICLE" class="[(#EXPOSE)]">#TITRE</a>
pour plus d'informations sur la balise #EXPOSE
Exposer un article dans une liste - SPIP
en espérant que cela t'aide 
pour ton scroll, c'est quoi exactement ?
jmica
Salut jimica
La balise #EXPOSE marche bien pour mettre en avant un item en lui appliquant un style.
Mon problème c'est que j'aimerai que la liste de mes articles que je fais apparaitre dans une div avec un scroll se positionne sur l'article en cours (affiché dans mon squelette)
Je mets un height: 50em; overflow: auto; sur mon div car je peux avoir 200 articles listé dans cette div (une liste d'écrivain classée par ordre alphabétique) et je ne veux pas d'une page qui fasse 10 km de long.
Donc si je veux par exemple lire tous les articles un par un de cette liste, j'aimerai ne pas etre obligé de scroller jusqu'au lien de l'article en cours pour pouvoir accéder à l'article suivant.
J'ai par exemple dans ma liste "VICTOR Gary" situé à la 40e ligne de ma liste, lorsque je suis sur l'article de VICTOR Gary, je voudrais que mon scroll de la liste soit positionné sur VICTOR Gary.
J'ai bien essayé avec du JS et des ancres :
window.onload = function() {
document.getElementById("#ID_ARTICLE").location.href = "##ID_ARTICLE";
}
et sur chaque lien de ma liste un name="#ID_ARTICLE":
[<a href="#URL_PAGE{auteurs,id_article=#ID_ARTICLE}" class="fiche_auteur" name="#ID_ARTICLE">(#TITRE)</a>]
Mais cela ne marche pas, j'ai l'impression que la propriété .location.href n'est pas prise en compte par l'élément div (je ne suis pas un dev en JS)
Merci
Bonjour !
en mettant un inclure dans ma page article.html comme ceci :
-------------------------------------------------------------------
[(#REM) test ancre sur article ]
<INCLURE{fond=inc-ancres} {id_rubrique} {id_article}>
et le fichier inc-ancres.html comme ceci :
-------------------------------------------------------------------
<head>
<SCRIPT language="Javascript">
function goToLink(id)
{
document.getElementById("menu-auteurs").scrollTop = document.getElementById(id).offsetTop;
}
</script>
</SCRIPT>
</head>
<style type="text/css">
<!--
#menu-auteurs {
background-color:#CCCCCC;
border:1px solid #666666;
height:50px;
overflow:auto;
padding:8px;
width:200px;
display:block;
position:relative;
}
-->
</style>
<body onLoad="goToLink( 'ancre#ID_ARTICLE' )"> </body>
<div id="menu-auteurs">
<BOUCLE-rub-courante(RUBRIQUES) {id_rubrique}>
<BOUCLE-articles-ancre(ARTICLES) {id_rubrique} {par titre}>
<div id=ancre#ID_ARTICLE></div>
<a href="#URL_ARTICLE"[ class="(#EXPOSE)"]>#TITRE</a>
</BOUCLE-articles-ancre>
</BOUCLE-rub-courante>
</div>
j'arrive à déplacer l'affichage dans la div à la bonne ligne.
par contre je n'est pas compris dans quel contexte tu es, page article.html ou page auteur.html.
en tout cas le javascript comme je te l'ai mis devrait fonctionner.
...a suivre !!
jmica
PS : moi non plus je ne suis pas un dev javascript 