ForgeKomponenty
sk

Komponenty

j-Pages

jComponent 20 · jcomponent@20 component Príklad načítaný s jComponent 20

Komponent je lepšou alternatívou komponentu j-Section. Výsledkom je, že v prípade potreby môžete jednoducho vytvoriť viacstránkovú aplikáciu s dynamickým načítaním obsahu. Výsledok vyzerá veľmi intuitívne pre mobilné zariadenia alebo stolné počítače.


Hlavná konfigurácia:

  • margin {Number/String} horný okraj (predvolené: 0)
    • auto použije hodnotu offset.top
  • margintype {String} môže obsahovať hodnotu offset (predvolené) alebo position
  • Oneskorenie animácie delay {Number} (predvolené: 220)
  • parent {String} voliteľné, selektor prvku s pevnou výškou (predvolené: prvok parent)
  • scrollbarshadow {Boolean} povolí tieň pre posúvač (predvolené: false)
  • loading {String} voliteľné, prepojenie na function(show_loading {Boolean})

Konfigurácia atribútu sekcie data-config:

  • if {String} podmienka pre zobrazenie stránky
  • URL adresa url {String} na získanie obsahu HTML
  • path {String} hodnota nahradí fázy ~PATH~ (predvolené: config.if)
  • id {String} hodnota nahradí fázy ~ID~
  • Typ animácie anim {String}, podporované hodnoty left (predvolené), right, top alebo bottom
  • scrollbar {Boolean} pridá k obsahu vlastný posuvník (predvolené: true)
  • scrolltop {Boolean} umožňuje automatické posúvanie
  • reload {String} odkaz na function(el), vykoná sa pri zobrazení stránky
  • hide {String} odkaz na function(el), spustí sa, keď je stránka skrytá
  • check {String} odkaz na function(next, el)
    • next {Function} pokračuje so zobrazením stránky
  • autofocus {Boolean} vykoná automatické zaostrovanie pre aktuálnu stránku

Použite ho so <ui-component name="pages">. Keď komponent ešte nie je načítaný, jComponent ho stiahne pri prvom použití z adresy v DEF.fallback (predvolene CDN Componentator). Autor: Peter Širka. Zdroj: úložisko komponentov Componentator, licencia MIT.

example.html
<style>
	body { padding: 0; margin: 0; overflow: hidden; }
</style>

<ui-component name="pages" path="common.page" config="parent:window">

	<section class="hidden invisible" data-config="if:page1;anim:left">
		<div class="padding">
			<div style="background-color:#F0F0F0;margin:30px auto;padding:30px;max-width:600px;border-radius:10px">
				PAGE 1
			</div>
		</div>
	</section>

	<section class="hidden invisible" data-config="if:page2;anim:right">
		<div class="padding">
			<div style="background-color:#F0F0F0;margin:30px auto;padding:30px;max-width:600px;border-radius:10px">
				PAGE 2
			</div>
		</div>
	</section>

	<section class="hidden invisible" data-config="if:page3;anim:bottom">
		<div class="padding">
			<div style="background-color:#F0F0F0;margin:30px auto;padding:30px;max-width:600px;border-radius:10px">
				PAGE 3
			</div>
		</div>
	</section>
</ui-component>


<script>

	var common = {};

	function togglepage() {

		var val = common.page;

		switch (val) {
			case 'page1':
				val = 'page2';
				break;
			case 'page2':
				val = 'page3';
				break;
			case 'page3':
			default:
				val = 'page1';
				break;
		}

		SET('common.page', val);
	}

	setInterval(togglepage, 2000);
	togglepage();

</script>