Commit 016fbf68 authored by Zéfling's avatar Zéfling 🎨
Browse files

Ajout de baku.dom.js

- ajout d'outils pour le DOM
- quelques petites corrections
parent b015066c
......@@ -20,4 +20,20 @@ Quelques petites méthodes en plus, par ajout sur le prototype des objets de bas
**String : String.format() > Formatter**
- choice : {0,choice,1# an|1< ans}
- number : {0, number, #,##0}
- date : {0,date, dd/MM/yyyy}
\ No newline at end of file
- date : {0,date, dd/MM/yyyy}
**DOM**
Raccoucis :
- <code>baku.id = document.elementById</code>
- <code>baku.first = document.querySelector</code>
- <code>baku.list = document.querySelectorAll</code>
Aides :
- <code>HTMLElement.css()</code> : ajout s'implifier de CSS sur un élement du DOM
- <code>NodeList.css()</code> : ajout s'implifier de CSS sur une liste d'élements du DOM
- <code>NodeList.addClass()</code> : ajout s'implifier d'une classe sur une liste d'élements du DOM
- <code>NodeList.removeClass()</code> : suppression s'implifier d'une classe sur une liste d'élements du DOM
Exemple :
- baku.list('p').css({'color' : 'red', 'text-decoration' : 'underline'});
- baku.list('p').removeClass('ok');
\ No newline at end of file
var baku = document;
baku.id = document.elementById;
baku.first = document.querySelector;
baku.list = document.querySelectorAll;
/**
* ajout d'un style sur un élement.
* @get si value === undefined
* @set si value !== undefined || name est un object
* @param name nom du style ou liste de style {'nom' : 'valeur'}
* @param value valeur du style (facultatif)
* @return valeur pour @get, this pour @set
*/
HTMLElement.prototype.css = function (name, value) {
if (typeof(name) !== 'object' && value === undefined) {
if (this.style[name]) {
return this.style[name];
}
} else {
var styles = {};
if (value === undefined) {
styles = name;
} else {
styles[name] = value;
}
for(var key in styles) {
if (this.style[key] !== undefined) {
this.style[key] = styles[key];
}
}
}
return this;
};
/**
* set les styles sur une liste d'élements
* @param name nom du style
* @param value valeur du style
* @return valeur ou undefined si non trouvée
*/
NodeList.prototype.css = function (name, value) {
for (var i in this) {
if (this[i] instanceof HTMLElement) {
this[i].css(name, value);
}
}
return this;
};
/**
* ajout d'une classe sur une liste d'élements
* @param name nom de classe
* @return la liste
*/
NodeList.prototype.addClass = function (name) {
for (var i in this) {
if (this[i] instanceof HTMLElement) {
this[i].classList.add(name);
}
}
return this;
};
/**
* supprime d'une classe sur une liste d'élements
* @param name nom de classe
* @return la liste
*/
NodeList.prototype.removeClass = function (name) {
for (var i in this) {
if (this[i] instanceof HTMLElement) {
this[i].classList.remove(name);
}
}
return this;
};
......@@ -14,7 +14,6 @@ String.prototype.format = function (){
args = args[0];
}
return this.replace(/(|\\){\s*([^,{}]+)\s*(?:,\s*([^,}]+)\s*)?(?:,\s*((?:\\.|[^}])+)\s*)?}/g, function (base, test, value, func, params) {
console.log(base, test, value, func, params);
return test !== '\\' ? (
(func !== undefined && typeof Formatter[func] === 'function')
? ( params !== undefined ? Formatter[func](args[value], params.replace('\\}', '}')) : Formatter[func](args[value]) )
......
......@@ -4,6 +4,7 @@
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>BakuJS - test</title>
<script type="text/javascript" src="baku.date.js"></script>
<script type="text/javascript" src="baku.dom.js"></script>
<script type="text/javascript" src="baku.number.js"></script>
<script type="text/javascript" src="baku.string.js"></script>
<script type="text/javascript" src="baku.string.formater.js"></script>
......@@ -15,5 +16,5 @@
h2 {font-size: 15px; clear:both; padding-top:10px; }
</style>
</head>
<body><h1>Tests<h1></body>
<body><h1>Tests</h1></body>
</html>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment