Función que me he traido de prototype a mootools para iterar una función X veces.
Number.extend({
times: function(fn) {
for (var i = 0; i < this; i++) fn(i);
}
});
//ejemplo
(3).times(alert); // 0,1,2
La única utilidad que le he sacado es para crear X elementos, conocéis alguna otra?
Una de las cosas que utilizamos muy a menudo cuando desarrollamos es el uso de tablas o listas con clases alternas para mostrar información, con esto conseguimos distinguir con mayor facilidad los datos.
Cada persona tiene su maña, algunos usan un true o false.
if($var) {
$var = false;
echo 'toggle';
} else {
$var = true;
echo 'toggle2';
}
Otros el tanto por ciento para saber si es par o impar.
if(($i + 1) % 2 == 0) echo '';
else echo 'toggle';
Así que he creado una pequeña función para facilitar esta tarea, puedes pasar los dos argumentos o solo el primero, pero si no pasas ninguno lo que haces es resetear para que la próxima vez que la llames empiece por el primer parámetro.
function toggle($one='',$two='') {
static $toggle = false;
$toggle = empty($one) && empty($two) ? true : $toggle;
$toggle = $toggle ? false : true;
return $toggle ? $one : $two;
}
Ejemplos de uso:
//alterna este valor con uno vacío
toggle('class="toggle" ');
//reseteas
toggle();
//alterna los dos valores
toggle('toggle','toggle2'); //devuelve toggle
toggle('toggle','toggle2'); //devuelve toggle2
toggle('toggle','toggle2'); //devuelve toggle
Puedes pasar los valores que quieras, la función no depende del valor ya que usa un booleano con una variable estática.