Helper per il DOM: ATTRD, HIDDEN, VISIBLE, WIDTH, STYLE, NODEMOVE, DIFFDOM e APPEARANCE
ATTRD(element or event, [name])leggedata-name(predefinitodata-id) di un elemento, di un oggetto jQuery o dell'elemento di un evento; per un oggetto semplice legge la proprietà.HIDDEN(element)ètruequando l'elemento non è mostrato (esso o un genitore hadisplay: none; un elemento figlio diretto del body è sempre segnalato come non nascosto, il controllo parte dal suo genitore);VISIBLE(element, [threshold], [mode])ètruequando è dentro la parte visibile della finestra (mode'above'o'below'chiede dove si trova quando non lo è).NOTFOCUSED()ètruequando la scheda del browser è in background einDOM(element)è vero finché l'elemento è nel documento.WIDTH([element])restituisce la classe di dimensione della larghezza dell'elemento (predefinito: la finestra):'xs','sm','md'o'lg'(i limiti sono inDEF.devices).WWeWHsono la dimensione della finestra;$Wè l'oggetto jQuery della finestra;SCROLLBARWIDTH()è la larghezza che occupa una barra di scorrimento.SCROLLBAR(element, [options])avvolge un elemento con una barra di scorrimento personalizzata e lo restituisce;scrollbar.resize()la ricalcola dopo che il contenuto è cambiato.isTOUCH,isMOBILE,isROBOT,isSTANDALONE,isPRIVATEMODEeisIEsono booleani sul browser, impostati all'avvio della pagina.STYLE(css, [id], [selector])aggiunge unostyleall'head. Con unidlo stile viene sostituito quando lo richiami con lo stesso id; con unselectorogni regola ne è avvolta ('.a { }'diventa'#p .a{ }').NODEINDEXOF(element)è la posizione dell'elemento tra i suoi fratelli,NODEINSERT(element, reference, [before])sposta un elemento dopo (o prima di) un altro eNODEMOVE(element, [up])lo sposta di un posto in giù (o in su).DIFFDOM(parent, selector, html, [attribute])rende i figli diparentche corrispondono aselectoruguali a quelli inhtml, senza ridisegnare quelli già presenti: un elemento è lo stesso quando il suoattributeha lo stesso valore (senzaattribute, quando tutto il suo HTML è uguale). Rimuove quelli che non sono nella nuova lista, aggiunge i nuovi e li mette nell'ordine dihtml, e restituisce{ add, upd, rem }. Il contenuto di un elemento mantenuto non viene sostituito.APPEARANCE({ color, dark, large, <name>: value })imposta l'aspetto della pagina:darkelargeattivano le classiui-darkeui-largedel body,colore ogni altra chiave diventano variabili CSS di:root(--color, e--rgbè calcolato dal colore) in un unico<style id="cssappearance">.ENVIRONMENT(name, version, language, [env])imposta il nome che prefissa le chiavi inlocalStorage, la versione e la lingua (DEF.localstorage,DEF.version,DEF.language) e, conenv, diversi valori diENV().
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>jComponent</title>
<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
<p id="p">A paragraph</p>
<div id="shown" style="width:300px;height:40px">Shown</div>
<div id="hidden" style="display:none"><span id="inside">Inside</span></div>
<div id="far" style="margin-top:3000px">Far away</div>
<div id="box" style="width:200px;height:50px;overflow:auto"><div style="height:300px">tall</div></div>
<ul id="list"><li id="a" data-id="a">a</li><li id="b" data-id="b">b</li><li id="c" data-id="c">c</li></ul>
<ul id="diff"><li data-id="1">one</li><li data-id="2">two</li></ul>
</body>
</html> Provalo nel tuo browser
Modifica l'esempio ed eseguilo. Gira in un frame isolato del tuo browser; nulla viene inviato al nostro server.
Anteprima