documentation: décrit comment ouvrir un expand

- Décrit comment ouvrir un expland/collapse au moyen d'un ancre.

Co-Authored-by: iGor milhit <igor.milhit@unige.ch>
obstetrics
iGor milhit 2022-12-09 13:50:17 +01:00
parent b5886dab6b
commit be8063f599
Signed by: igor
GPG Key ID: 5785C84B21C88AE6
1 changed files with 59 additions and 0 deletions

View File

@ -140,3 +140,62 @@ bibliographique content les métadonnées `COinS` reconnues par Zotero.
[coins]: https://www.zotero.org/support/dev/exposing_metadata/coins [coins]: https://www.zotero.org/support/dev/exposing_metadata/coins
[liste]: #liste-à-puce-sans-puce [liste]: #liste-à-puce-sans-puce
## Ancres dans les `expand/collapse`
Afin de pouvoir utiliser un ancre qui puisse ouvrir un composant qui s'ouvre ou
se ferme (bloc `expand/collapse`), il faut:
1. Insérer l'ancre au sein du contenu du bloc.
1. Modifier les propriétés de la page:
1. Menu *Éditer/Édition*, puis *propriétés*.
1. Onglet *Attributs personnalisés*.
1. *Contenu d'entête supplémentaire*.
1. Coller le contenu suivant:
```html
<script type="text/javascript">
function getAnchor() {
return (document.URL.split('#').length > 1) ? document.URL.split('#')[1] : null;
}
function getOffsetTop(elem){
var offsetTop = 0;
do {
if(!isNaN(elem.offsetTop)){
offsetTop += elem.offsetTop;
}
} while( elem = elem.offsetParent );
return offsetTop;
}
function getOffsetLeft(elem){
var offsetLeft = 0;
do {
if(!isNaN(elem.offsetLeft)){
offsetLeft += elem.offsetLeft;
}
} while( elem = elem.offsetParent );
return offsetLeft;
}
window.addEventListener("load",function(){
var monanchor = getAnchor();
if (typeof monanchor !== 'undefined' && monanchor !== null) {
substring = "-title-";
if (monanchor.indexOf(substring) !== -1) {
monanchor = monanchor.replace("-title-","-content-");
var parentDiv = document.getElementById(monanchor);
} else {
var pDoc = document.getElementsByName(monanchor)[0];
var parentDiv = pDoc.parentNode.parentNode;
}
parentDiv.style.display = "block";
var offsetTop = getOffsetTop(parentDiv);
var offsetLeft = getOffsetLeft(parentDiv);
window.scrollTo(offsetLeft, offsetTop - 200);
}
},false);
</script>
```