# j-LazyContent

> Ce composant affiche son propre contenu lorsqu'il est visible. Il prend en charge des fonctionnalités utiles telles que redessiner et masquer.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: fr
Content-SHA256: cbd0fbe73e3d6eda21cb304498683482198d7f0e2eb3aec1c0ffa21afb39c774
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Ce composant affiche son propre contenu lorsqu'il est visible. Il prend en charge des fonctionnalités utiles telles que `redraw` et `hide`.

__Configuration__ :
- `height:NUMBER_IN_PIXELS"` facultatif, une hauteur de contenu par défaut. __Valeur par défaut__ : est la hauteur de l'élément actuel
- `init:method_or_variable"` est exécuté lorsque l'élément visible pour la première fois est (facultatif)
- `redraw:method_or_variable"` est exécuté lorsque l'élément à nouveau visible est (facultatif)
- `hide:method_or_variable"` est exécuté lorsque l'élément masqué est (facultatif)

__Remarques__ :
- `init` ne sera exécuté qu'une seule fois
- `redraw` et `hide` seront exécutés plusieurs fois
- si les attributs contiennent un lien vers `variable` (pas des méthodes), alors comme valeur est stockée la valeur `Boolean`.
- __important__ : la zone de défilement doit être un élément `document.body`

Utilisez-le avec `<ui-component name="lazycontent">`. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans `DEF.fallback` (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.

```html example.html
<div><b>SCROLL DOWN</b></div>
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<ui-component name="lazycontent" config="init:method_init;redraw:method_redraw;hide:method_hide">
	.... default content ....
</ui-component>
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />
<ui-component name="lazycontent" config="init:method_init;redraw:method_redraw;hide:method_hide">
	.... default content ....
</ui-component>
<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />

<script>
	function method_init() {
		this.element.html('INIT');
		this.element.css('background-color', 'green');
	}

	function method_redraw() {
		this.element.html('REDRAW');
		this.element.css('background-color', 'blue');
	}

	function method_hide() {
		this.element.html('HIDDEN');
		this.element.css('background-color', 'red');
	}
</script>
```
