Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - bermartinv

Páginas: 1 2 3 [4] 5
61
Citar
EJERCICIO 1

Crea un reloj JavaScript que marque los segundos usando el método setInterval.
Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">
 window.onload = function(){
   var llamada = setInterval (reloj,500);
}
 

function reloj() {

    var hoy=new Date(); var h=hoy.getHours(); var m=hoy.getMinutes(); var s=hoy.getSeconds();

    m = actualizarHora(m);    s = actualizarHora(s);

    document.getElementById('displayReloj').innerHTML = h+":"+m+":"+s;

   

}

 

function actualizarHora(i) {

    if (i<10) {i = "0" + i};  // Añadir el cero en números menores de 10

    return i;

}

</script>

 

</head>

<body >

<div style="text-align:center;">

<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue; font-family: verdana, arial; font-size:30px; padding:15px;" id ="displayReloj" >   </div>

</div>
</body></html>
Citar
EJERCICIO 2

Crea un reloj JavaScript que marque los segundos usando el método requestAnimationFrame.
Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">
var globalID;
    function empecemos(){
        var empezar = requestAnimationFrame(reloj);
}
 

function reloj() {

    var hoy=new Date(); var h=hoy.getHours(); var m=hoy.getMinutes(); var s=hoy.getSeconds();

    m = actualizarHora(m);    s = actualizarHora(s);

    document.getElementById('displayReloj').innerHTML = h+":"+m+":"+s;

    globalID = requestAnimationFrame(reloj);

}



function actualizarHora(i) {

    if (i<10) {i = "0" + i};  // Añadir el cero en números menores de 10

    return i;

}

</script>

 

</head>

<body onload="empecemos()" >

<div style="text-align:center;">

<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue; font-family: verdana, arial; font-size:30px; padding:15px;" id ="displayReloj" >   </div>

</div>
</body></html>
Citar
EJERCICIO 3

Crea un reloj JavaScript que marque inicialmente 01:00 (es decir, 1 minuto) y que marche hacia atrás (00:59, 00:58, 00:57 … etc.) hasta llegar a 00:00. Cuando llegue a 00:00 debe deternerse y mostrar el mensaje: “Tu tiempo ha terminado”.
Para este ejercicio, me hice un poco de lio porque no sabía cómo hacerlo. Después de termiarlo miré cómo lo habían hecho otros compañeros y la forma que lo había heho Pedro, no hubiese caido nunca de hacerlo por ahí, pero parece más sencilla.
Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
    body{
       
    }
    #ventana{
        margin:auto;
        display:block;
        position:absolute;
        height:200px;
        width:400px;
        background: pink;
        border:solid 1px black;
    }
    #reloj{
        position: absolute;
        top:40px;
        left:120px;
        font-size: 80px;
        color:dodgerblue;
        text-align: center;
    }
</style>
<script>
    var segundos = 0;
    var minutos = 1;
    var llamada;
    var ceromin='';
    var ceroseg='';
   
    function cuentaAtras(){
        devolvercero(minutos,segundos);
        segundos = segundos % 60;
        document.getElementById("reloj").innerHTML=ceromin+minutos+':'+ceroseg+segundos;
         if (minutos ===0 && segundos ===0){
            alert ("Se agotó su tiempo");
            clearTimeOut(llamada);
        }
        if (segundos ==0){
            minutos --;
            segundos+=60;   
        }   
        segundos --;
        var llamada = setTimeout(cuentaAtras,1000);
    }
   
    function devolvercero(minutos,segundos){
        if (minutos<10){
            ceromin='0';
           
        }
        if (segundos<10){
            ceroseg='0';
           
        }else {
            ceroseg='';
        }
         return ceroseg;return ceromin;
    }
   
</script>
</head>
<body onload="cuentaAtras()">
   <div id="ventana">
       <div id="reloj">
           
       </div>
   </div>
</body>
</html>

Saludos

62
He visto en algunos sitios algunos códigos Javascript que despues del cierre de la funcion hay (). Por ejemplo:

Código: [Seleccionar]
var func1 = function(){
   var func2 = function (){
        console.log(sayHi);
   }();
}();

¿A que se debe que se cierre el objeto con ()?

Gracias y saludos

63
Tengo una duda sobre la creación de los objetos con JavaScript. En los temas que aquí se desarrollan con el curso de javascript desde cero de aprenderaprogramar.com creábamos un objeto definiendolo asi:

cometa1 = new cometa(20,20,'Andromeda');

Pero imaginemos que queremos crear una acción con un botón y cada vez que se pulse ese boton se cree un nuevo objeto. He estado probando y no se puede asignar asi:

cometa[contador] = new cometa (20,20,'Andromeda');

porque es un vector y espera un resultado.

Estoy dandole vueltas y no consigo dar con la solución. A ver si alguien me ayuda.

Saludos

64
Adjunto mi código para este tema del curso JavaScript desde cero. Los ejercicios 1 y 2 están en el mismo código como funciones diferentes.

Citar
EJERCICIO 1

Crea un script donde se calcule el tiempo en minutos entre que se formula primera petición al usuario y este responde, y entre una segunda petición al usuario y este responde. Ejemplo:

Introduzca su nombre: Alfredo >> Introduzca su país: Colombia >> Han pasado 0.122 minutos entre su primera y segunda respuesta.

Otro ejemplo: Introduzca su nombre: Juan >> Introduzca su país: Chile >> Han pasado 0.73 minutos entre su primera y segunda respuesta.


Citar
EJERCICIO 2

Crea un script donde pida al usuario que introduzca una primera fecha (fecha1) en formato dd-mm-yyyy, y una segunda fecha en el mismo formato y calcule los días que han pasado entre las dos fechas . Ejemplo: Introduzca la fecha 1: 05-09-2076 >> Introduzca la fecha 2: 09-09-2076 >> Entre las 00:00 horas del primer día a las 00:00 del segundo hay 4 días.


Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<script>
window.onload = function(){
    document.getElementById("ejercicio1").addEventListener('click',ejercicio1);
    document.getElementById("ejercicio2").addEventListener('click',ejercicio2);
}   

function ejercicio1(){
    var nombre = prompt ("Introduzca su nombre:");
    var fecha1 = new Date();
    var pais = prompt ("intorduzca pais:");
    var fecha2 = new Date();
    alert ("El tiempo transcurrido en introducir un dato y el segundo ha sido:\n"+Number(((fecha2.valueOf()-fecha1.valueOf())/1000)/60)+ ' minutos');   
}

function ejercicio2(){
   
       var  fecha1 = prompt ("Introduzca una fecha1 \'dd-mm-yyyy\'");
   
        var fecha2 = prompt ("Introduzca una fecha2 \'dd-mm-yyyy\'");
   
   
    fecha1Date = new Date(fecha1.substring(6)+','+(fecha1.substring(3,5))+','+(fecha1.substring(0,2)));
    fecha2Date = new Date(fecha2.substring(6)+','+(fecha2.substring(3,5))+','+(fecha2.substring(0,2)));
   
    if (fecha1Date.valueOf() > fecha2Date.valueOf()){
        var dias = ((fecha1Date.valueOf() - fecha2Date.valueOf())/(1000*60*60*24));
       
    }else{
        var dias = ((fecha2Date.valueOf() - fecha1Date.valueOf())/(1000*60*60*24));
    }
    alert ('Han transcurrido entre las dos fechas:'+(dias)+' dias');
   

}
</script>
<body>
    <button id="ejercicio1">Ejercicio1</button>
    <button id="ejercicio2">Ejercicio2</button>
</body>
</html>

65
Ejercicio CU01162E del curso tutorial javascript desde cero.

Citar
Crea un documento HTML que conste de un título h1 con el texto <<Calendario>>, y un div central de 400 por 400 px con el borde marcado y márgenes de 100px en todas direcciones. Dentro del div central crea una tabla de 7 columnas por 7 filas (total 49 celdas) con ancho de tabla 300 píxeles y tamaño de fuente en la tabla 24 píxeles. La primera columna corresponderá a lunes y la última a domingo. Usa un método JavaScript para determinar el mes actual. Mediante código JavaScript, haz que aparezca dinámicamente como texto encima de la tabla el mes y año de que se trate (por ejemplo <<MAYO DE 2050>>). Haz que cada celda de la primera fila se rellene indicando el día de la semana (Lu – Ma – Mi – Ju – Vi –Sa –Do). Haz que la tabla se rellene dinámicamente (al cargar la página) con:

a) Espacio en blanco si no corresponde ningún día.

b) El número del día del mes según corresponda (28, 30 ó 31 días según de qué mes se trate).


He tenido que buscar material en la web , porque no conseguía saber los dias que tenía un mes si no fuera creando las reglas de años bisiesto,meses,etc. Encontré un prototype del objeto Date que te calculaba los días (muy guay).

Tendría que haber comentado un poco el código porque la persona que no ha trabajado en un código y empieza a leer variables, funciones,etc sin saber para que son , es un poco lioso.

Por cierto, un ejercicio muy laborioso.

Adjunto mi código para este ejercicio.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
    #calendario{
        height:400px;
        width:400px;
        margin:100px;
        text-align:center;
       
    }   
   
    #table{
        font-size: 24px;
        width: 300px;
        border:solid thin black;
        margin:50px;
        border-collapse: collapse;
    }
   
</style>
<script>
window.onload = function(){
   
    calendario(); 
}   

function calendario(){
    Date.prototype.monthDays= function(){
    var d= new Date(this.getFullYear(), this.getMonth()+1, 0);
    return d.getDate();
}
    fecha = new Date();
    fechaActual(fecha);
    var dias = fecha.monthDays();
    var nombreDias = ['Lu','Ma','Mi','Ju','Vi','Sa','Do'];
    var diacomienzo = empezarDia(fecha); escribirCalendario(fecha,nombreDias,diacomienzo,dias);
}
   
   function mesFecha(mes){
        switch (mes){
            case 0:return 'Enero';break;
            case 1:return 'Febrero';break;
            case 2:return 'Marzo';break;
            case 3:return 'Abril';break;
            case 4:return 'Mayo';break;
            case 5:return 'Junio';break;
            case 6:return 'Julio';break;
            case 7:return 'Agosto';break;
            case 8:return 'Septiembre';break;
            case 9:return 'Octubre';break;
            case 10:return 'Noviembre';break;
            case 11:return 'Diciembre';break;
        }
}
   
    function fechaActual(fecha){
        var anyo = fecha.getFullYear();
        var mes = mesFecha(fecha.getMonth());
        var msg = mes+' de '+anyo; document.getElementById("fechaActual").innerHTML = msg;
    }
   
    function empezarDia(fecha){
        fecha2 = new Date(fecha.getFullYear(),fecha.getMonth(),0);
        var diacomienzo = fecha2.getDay();
        return diacomienzo;
       
    }
   
    function escribirCalendario(fecha,nombreDias,diaComienzo,dias){
        var tds = document.getElementsByTagName('td');
        var contador = 1;
        // Para los dias de la semana;
        for (var i=0;i<tds.length;i++){
           
            if (i>0 && i<8 ){
                tds[i].innerHTML=nombreDias[i-1];
            }
            if (i>7 && diaComienzo!=0){
                tds[i].innerHTML = ' ' ;
                diaComienzo--;
            }
            else if (i>7 && diaComienzo==0 && contador<=dias){
               
                tds[i].innerHTML=contador;
                if (fecha.getDate() == contador){
                    tds[i].style.color = 'red';
                }
                contador++;
               
            }
           
        }
    }
   
   
</script>
</head>
<body>
   <h1>Calendario </h1>
    <div id="calendario">
        <table id="table">
            <tr>
                <td colspan="7" id="fechaActual">sd</td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
            <tr>
                <td></td><td></td><td></td><td></td><td></td><td></td><td></td>
            </tr>
        </table>
    </div>
</body>
</html>

66
Adjunto mi código para el ejercicio 1 de la entrega CU01161E del tutorial javascript desde cero.


Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
    #pizarra{
        border:solid 5px black;
        margin:100px;
       
        font-size: 250px;
        height:400px;
        width:400px;
        color:yellowgreen;
        text-align: center;
    }   
</style>
<script>
window.onload =function(){document.onkeypress = mostrarCodigo;
                         
   }

function mostrarCodigo(evento){
    var caracter = String.fromCharCode(evento.which);
    var pizarra = document.getElementById("pizarra") ;
    pizarra.innerHTML = caracter;
}


</script>
</head>
<body>
   <h1>Pulsa una tecla</h1>
    <div id="pizarra"></div>
</body>
</html>


Amplío el ejercicio y añado un código para poder saber el codigo de cada caracter de teclado que pulsemos.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
    #pizarra{
        border:solid 5px black;
        margin:100px;
       
        font-size: 250px;
        height:400px;
        width:400px;
        color:yellowgreen;
        text-align: center;
    }   
</style>
<script>
window.onload =function(){document.onkeypress = mostrarCodigo;
                          document.onkeyup = mostrarCodigo2;
                         
   }

function mostrarCodigo(evento){
    var caracter = (evento.which);
    var pizarra = document.getElementById("pizarra") ;
    pizarra.innerHTML = caracter;
}
   
function mostrarCodigo2(evento){
    var caracter = (evento.keyCode);
    var pizarra = document.getElementById("pizarra") ;
    pizarra.innerHTML = caracter;
}


</script>
</head>
<body>
   <h1>Pulsa una tecla</h1>
    <div id="pizarra"></div>
</body>
</html>

67
Para el primer ejercicio de la entrega CU01159E del tutorial JavaScript:

Citar
Crea un documento HTML que conste de un título h1 con el texto <<La web para aprender programación>>, dos párrafos de texto y una imagen. Utiliza los eventos onmouseover para que la imagen original sea reemplazada por otra imagen cuando el usuario pasa el ratón sobre ella. Utiliza el evento onmouseout para hacer que cuando el usuario salga del espacio de la imagen, vuelva a aparecer la imagen original.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document curso aprenderaprogramar.com</title>
<style>
    img {
        height: 400px;
        width: 400px;
    }   
</style>
<script>
window.onload = function(){
    var imagen = document.getElementById("imagen_web");
    imagen.addEventListener('mouseover',cambiarImagen);
    imagen.addEventListener('mouseout',imagenIniciar);
   
    function cambiarImagen(){
        this.setAttribute('src','https://image.shutterstock.com/display_pic_with_logo/3016328/368581601/stock-photo-computer-key-showing-the-word-html-368581601.jpg');   
    }
   
    function imagenIniciar(){
        this.setAttribute('src',"https://pixabay.com/static/uploads/photo/2014/07/07/10/22/html-386093__180.jpg");
    }
   
   
}   
   
</script>
</head>
<body>
    <h1>La web para aprender programacion</h1>
        <p>La programación Web, parte de las siglas WWW, que significan World Wide Web o telaraña mundial.</p>
        <p>En la programación Web, el HTML es el lenguaje que permite codificar o preparar documentos de hipertexto, que viene a ser el lenguaje comun para la construccion de una pagina Web.</p>
        <img id="imagen_web" src="https://pixabay.com/static/uploads/photo/2014/07/07/10/22/html-386093__180.jpg" />
</body>
</html>


Y para el segundo ejercicio

Citar
Crea un documento HTML que conste de un título h1 con el texto <<La web para aprender programación>>, dos párrafos de texto y un formulario con los campos nombre, apellidos, edad y correo electrónico, así como con botones enviar y cancelar. Utiliza el evento onsubmit y otras herramientas para impedir que se envíe el formulario si se produce alguna de estas circunstancias:

a) El nombre está vacío ó el correo electrónico está vacío.

b) El correo electrónico no contiene los símbolos @ (arroba) y . (punto). Por ejemplo juan arroba gmail.com no es un correo válido.

c) No existe al menos una letra precediendo el símbolo @ del correo electrónico y una letra después de este símbolo. Por ejemplo a@.com no es un correo válido.

d) No existen al menos dos letras después del punto en el correo electrónico. Por ejemplo juan@gmail.c no es un correo válido.

e) La edad es cero o menor de cero.

En caso de producirse una de estas circunstancias, debe mostrarse el campo del formulario de un color distinto y un mensaje de advertencia. El color de advertencia debe desaparecer (dinámicamente) cuando el campo que tenía un problema tome el foco (para ello usa el evento onfocus).


El código es el siguiente:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document curso aprenderaprogramar.com</title>
<style type="text/css">
input {margin:10px;}
</style>
</head>
<script>

var nombreOk=false;
var apellidoOk=false;
var edadOk=false;
var emailOk=false;
     
window.onload=function(){
    var everyInputs=document.getElementsByTagName('input');
    for (var i=0;i<(everyInputs.length);i++){
        everyInputs[i].addEventListener('focus',estilo);
        everyInputs[i].addEventListener('blur',estilo2);
        var nodoname=everyInputs[i].name;
       
        switch (nodoname){
                case "nombre":
                    everyInputs[i].addEventListener('blur',validarNombre);
                    break;
                case "apellido":
                     everyInputs[i].addEventListener('blur',validarApellido);
                    break;
                case "edad":
                    everyInputs[i].addEventListener('blur',validarEdad);
                    break;
                case "email":
                    everyInputs[i].addEventListener('blur',validarEmail);
                    break;
                default :break;
            }
    }
function estilo(){
    this.style.backgroundColor="yellow";
}
function estilo2(inputElement){
    this.style.background='transparent';
    this.nextSibling.src="http://images.all-free-download.com/images/graphiclarge/tick_ok_sign_4190.jpg";
}
function estiloRojo(inElement){
    inElement.style.backgroundColor="red";
    inElement.nextSibling.src="http://griponclimate.files.wordpress.com/2013/03/wrong.png";
}
       
function validarNombre(){
        var nombre=document.getElementById("nombre");   
        var expresionRegular=/^\w{3,}$/;
        if ((expresionRegular.test(nombre.value))==true){
            nombreOk=true;
            estilo2(nombre);
        }
        else {
            nombreOk=false;
            estiloRojo(nombre);
        }
   
}

function validarApellido(){
        var apellido=document.getElementById("apellido");
        var expresionRegular=/^\w{3,}$/;
        if ((expresionRegular.test(apellido.value))==true){
            apellidoOk=true;
            estilo2(apellido);
        }
        else {
            apellidoOk=false;
            estiloRojo(apellido);
        }
   
}

function validarEdad(){
    var edad=document.getElementById("edad");
    if ((edad.value>10) && (edad.value<99)){
        edadOk=true;
        estilo2(edad);
    }
    else {
        edadOk=false;
        estiloRojo(edad);   
    }
   
}
   
function validarEmail(){
    var valorEmail=document.getElementById("email");
    var expresionRegular=/^([\w-\.]{3,}\@.+\..+)$/;
    var email=convertirMinusculas(valorEmail.value);
    email=comprobarAtEmail(email);
    if ((expresionRegular.test(email))==true) {
        emailOk=true;
        estilo2(valorEmail);
}
else {
        emailOk=false;
estiloRojo(valorEmail);   
}
   
}
   
 
function convertirMinusculas(email){
    return email.toLowerCase();   
    }
   
function comprobarAtEmail(email){
    var expresion=/\sat\s/g;
    return email.replace(expresion,'@');
}

    }
function validarDatos(){
    var msg='Los datos que debe rectificar son:';
    if (nombreOk && apellidoOk && edadOk && emailOk){
        alert ("Ha introducido todos los datos correctamente y su formulario va a ser enviado");
        return true;
    }else{
        if (nombreOk===false){
            msg = msg + ' nombre ';
        }
        if (apellidoOk===false){
            msg = msg + ' apellido ';
        }
        if (edadOk===false){
            msg = msg + ' edad ';
        }
        if (emailOk===false){
            msg = msg + ' email ';   
        }
        alert (msg);
        return false;
    }
}

</script>
<body>
    <h1>La web para aprender programacion</h1>
    <p>Esta cantidad de eventos puede resultar desconcertante por excesiva. No te preocupes por entender ahora el significado de cada uno de ellos. Simplemente ten unas nociones básicas que te permitan resolver los retos que como programador te puedan ir surgiendo.</p>
    <p>Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.</p>
    <img id="img1" src="http://i.imgur.com/tq5Bs.png" />
<form name="miniformualario" class="formulario" method="get" onsubmit="return validarDatos()">
<label >Escriba nombre</label>   
<input type="text" id="nombre" name="nombre"/><img width="20" height="20"/><br/>
<label>apellidos</label>
<input type="text" id="apellido" name="apellido"/><img width="20" height="20"/><br/>
<label>edad</label>
<input type="text" id="edad" name="edad"/><img width="20" height="20"/><br/>
<label>Correo electronico</label>
<input type="text" id="email" name="email"/><img width="20" height="20"/><br/><br/>
<input type="submit"  value="Enviar" />
<input type="reset" value="Reiniciar datos" />   
   
</form>
<script>
       
   
</script>
</body>
</html>

68
Adjunto mi código, para el ejercicio CU01158E del tutorial JavaScript desde cero:

Citar
Crea un documento HTML donde dentro del elemento body tengamos un div con id “principal”, dentro de principal otro div denominado “secundario”, y dentro de secundario otro div con id “terciario”. Dentro de terciario debe existir un párrafo con el texto: Ejemplo de bubbling (burbujeo). Añade eventListeners con el evento click para los párrafos y todos los elementos div, document y window, y una función de respuesta común para todos ellos que emita el mensaje de alerta <<Soy un nodo tipo NombreDelNodo y estoy burbujeando>>.

Ejemplo: al hacer click sobre el texto <<Ejemplo de bubbling (burbujeo)>> deberán empezar a aparecernos mensajes como: Soy un nodo tipo P y estoy burbujenado. Soy un nodo tipo DIV y estoy burbujeando. Soy un nodo tipo DIV y estoy burbujeando…

Tan solo comentar que el nodo window no existe por eso en el alert se nos muestra como "undefined"

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document curso aprenderaprogramar.com</title>
<script>
window.onload=function(){
    document.querySelector('p').addEventListener('click',ventana);
    document.getElementById('terciario').addEventListener('click',ventana);
    document.getElementById('secundario').addEventListener('click',ventana);
    document.getElementById('principal').addEventListener('click',ventana);
    document.addEventListener('click',ventana);
    window.addEventListener('click',ventana);
   
    function ventana(){
        alert ('Soy un nodo de tipo '+this.nodeName+' y estoy burbujeando');
    }
   
   
}   
   
</script>
</head>
<body>
    style="width:50%; height: 25%: margin:5%; padding:5%; border-style:solid;"
        <div id="secundario">
            <div id="terciario">
                <p>Ejemplo de bubbling (burbujeo). Pulsa aquí...</p>
            </div>
        </div>
    </div>
</body>
</html>

69
Adjunto mi código para el ejercicio CU01157E del curso de javascript desde cero:

Código: [Seleccionar]
<!DOCTYPE html>
<html> <head><title>Portal web - aprenderaprogramar.com</title>
<meta name="description" content="Portal web aprenderaprogramar.com">
<meta name="keywords" content="aprender, programar, cursos, libros"><meta charset="utf-8">
<script>
window.onload = function(){
   
    var haches = document.querySelectorAll('h1,h3');
    var pes = document.querySelectorAll('p');
    for (var i = 0; i<haches.length ;i++){
        haches[i].onmouseover = function(){return this.style.color = "orange"};
        haches[i].onmouseout = function(){return this.style.color = "brown"};
    }
   
    for (var i = 0;i<pes.length;i++){
       
        pes[i].onmouseover = function(){return this.style.backgroundColor = "yellow"};
        pes[i].onmouseout = function(){return this.style.backgroundColor = "transparent"};
    }
   
}   

   
</script>

</head>

 <body> <p><a href="principal.html" title="Página principal" >Ir a la pagina principal</a></p>

<h1>Novedades</h1>

<p>Aquí presentamos las novedades del sitio.</p>

<h3>Lanzamos el producto X-FASHION</h3>

<p>Este producto permite estirar la piel hasta dejarla como la de un bebé.</p>

<p><img src="http://i.imgur.com/tq5Bs.png" title="Imagen del producto" alt="imagen producto x-fashion" /></p>

<h3>Mejoramos el producto T-MOTION</h3>
<p>Hemos lanzado una nueva versión del producto T-MOTION</p>
<p><img src="http://i.imgur.com/SpZyc.png" title="Imagen del proudcto tmotion" alt="imagen producto tmotion" /></p>
</body>
</html>

70
Pego mi código para ejercicio CU01156E:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>

function numero(){
   
    var number = 0;
   
    do {
   
    var number = Number ( prompt ("Introduzca un numero superior a 10000000"));
   
    }while ((number<10000000) | (isNaN(number) == true));
   
    alert ('Ese numero introducido expresado con 3 numeros significativos es :'+number.toPrecision(3));
}   
   
function dosDecimales(){
   
    var expRegular = /^\d{1,}\.\d{4,}$/ ;
   
    do{
       
    var numero = Number (prompt('Introduzca un numero con al menos 4 decimales:'));
   
    } while (expRegular.test(numero) !== true);
       
    alert ('Su numero con solo dos decimales es : '+numero.toFixed(2));
}
   
function fraseNumero(){
   
    var expRegular = /^(\d{1,}|\d{1,}.\d{1,})\w{1,}$/ ;
   
    do{
       
    var frase = prompt ("Introduzca una frase que comience por un numero:");
       
    } while (expRegular.test(frase) !== true);
   
    alert ('El numero entero introducido al comienzo de la frase es'+parseInt(frase)+'\n y el numero en decimal es :'+parseFloat(frase));
}
   
</script>
</head>
<body>
    <button onclick="numero()">Introducir número >10000000</button>
    <button onclick="dosDecimales()">Introducir número con 4 decimales</button>
    <button onclick="fraseNumero()">Frase que empiece por numero</button>
</body>
</html>

71
Mi código para el ejercicio CU01154E del tutorial javascript desde cero:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function comprobar(){
var expresionRegular = /^[A-C]\w+\ses\s\w+/;
var vector = ['Juan es guapo','Adriano no es feo','Adriano deja de ser guapo','Adriano ya es guapo','No es ahora','Ahora es no','Adriano es guapo']
    for (var i=0;i<vector.length;i++){
        var sino = expresionRegular.test(vector[i])? 'si ':' no ';
        msg = "El texto \'"+vector[i]+"\' "+sino+ ' cumple la expresion regular';
        alert (msg);
    }
}   
   
   
    </script>

</head>
<body>
   <p>La expresion regular es /^[A-C]\w+\ses\s\w+/</p>
    <button onclick="comprobar()">Expresion Regular</button>
</body>
</html>

72
Solucion al ejercicio 1 de la entrega CU01153E del curso JavaScript desde cero:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
function ordenar(){
    var miVector = [33, 2, 36, 55, 4, 1];
    var deMenorAMayor = [33, 2, 36, 55, 4, 1];
   
    var deMayorAMenor = miVector.sort(function (elem1,elem2){return elem2-elem1;});
   
    var deMenorAMayor = deMenorAMayor.sort(function (elem1,elem2){return elem1-elem2;});
   
    var texto1 = document.createElement('p');
   
    document.body.appendChild(texto1);
   
    texto1.innerHTML= miVector.valueOf();
   
    var texto2 = document.createElement('p');
   
    document.body.appendChild(texto2);
   
    texto2.innerHTML = 'El resultado de ordenar de mayor a menor es : '+deMayorAMenor.valueOf();
   
    var texto3 = document.createElement('p');
   
    document.body.appendChild(texto3);
   
    texto3.innerHTML= 'El resultado de ordenar de menor a mayor es: '+deMenorAMayor.valueOf();
   
}
</script>

</head>
<body>
    <button onclick="ordenar()">Ordenar</button>
</body>
</html>


Y para el ejercicio 2, no he sabido resolverlo por mi mismo y encontré por la red un algortimo para resolverlo.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
   function compareIgnoreCase(a,b) {
        return (normalize(a) > normalize(b));
    }
    function normalize(a) {
        return a.toLowerCase()
                 .replace(/[Áá]/gi,"a").replace(/[Éé]/gi,"e").replace(/[Íí]/gi,"i")
                 .replace(/[Óó]/gi,"o").replace(/[Úú]/gi,"u").replace(/[Ññ]/gi,"nzz");
    }
   
   
    function ordenarVector(){
        var miArray = ['Moto', 'soto', 'Abaco', 'abeja', 'Sapo','nieve','Zumba','barco'];
        var ordMiArray = miArray.sort(compareIgnoreCase);
        var mostrar = document.createElement('p');
        document.body.appendChild(mostrar);
        mostrar.innerHTML =  ordMiArray.valueOf();
       
       
       
    }
</script>

</head>
<body>
   
</body>
<button onclick="ordenarVector()">Ordenar</button>
</html>

73
Respuestas a ejercicios CU01152E del curso JavaScript desde cero:


A) El operador += significa que a la variable que encontremos a la parte izquierda se le sumará al valor que teng a el valor de la variable de la derecha.
var a = 5;
var b = 6;
a += b;     // El valor de la variable a ahora será 11


B) Hemos usado getElementsByTagName() , este operador mete en un Array todos las etiquetas del tipo que le digamos que haya en el document.

                       document.getElementByTagName(body)[0]

Como solo existe una etiqueta body en nuestro document especificamos que el queremos nosotros es el que se encuentra en la primera posición del Array.


C) Al no elegir ningún color o poner un valor que sea distinto a los posibles valores de background-color , en el operador ternario se usa la segunda opción que es cuando no se cumple la condición(false).

                    operacion a comprobar? true : false;

D) Al poner pink en la pregunta, se añade el h1 al final del document con background-color:pink, esto es debido porque colorUsuario, es la variable que asignamos a blackground-color, al introducir una valor que sea valido para los colores de background se le asigna y se le aplica.


E)

Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">

function ejemplo() {

var htmlADevolver = '';

var colorUsuario = prompt('Elija color red, yellow o blue');

htmlADevolver += colorUsuario == 'red' || colorUsuario == 'yelow' || colorUsuario == 'blue'  ? '<h1 style="background-color:'+colorUsuario+

';"> Usted eligió '+colorUsuario+'</h1>' : '<h1>No eligió color de los posibles</h1>';

var nodoBody = document.getElementsByTagName('body')[0];

nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;
   
}

</script>

</head>

<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>

</body>
</html>


F) Y con la condicion IF

Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">

function ejemplo() {

var htmlADevolver = '';

var colorUsuario = prompt('Elija color red, yellow o blue');

if ( colorUsuario == 'red' || colorUsuario == 'yelow' || colorUsuario == 'blue'){
   
    htmlADevolver += '<h1 style="background-color:'+colorUsuario+

';"> Usted eligió '+colorUsuario+'</h1>';

}else{
   
    htmlADevolver += '<h1>No eligió color de los posibles</h1>';

}

var nodoBody = document.getElementsByTagName('body')[0];

nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;

}
   
</script>

</head>

<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>

</body>
</html>

74
Al ejecutar el código el mensaje de error que me sale por consola es:

"SyntaxError: missing ) after argument list"

Hacemos click para ver la linea donde está el error y nos lleva a esta:

"alert('Hello';"

que como podemos ver falta un parentesis de cierre ).

Ahora no sale ningún error, y al hacer click en el botón se ejecuta sin errores.

En la consola vamos obteniendo los pasos que realiza el código:

Citar
unObjeto es
Array [  ]
this es [object Window]

La primera linea es lo que le hemos indicado nosotros que muestre en la consola con console.log, que era 'unObjeto es'+unObjeto, pero que como está definido y no tiene ningún valor no pone nada.

Posteriormente le hemos indicado que nos mueste por consola el tipo de dato que es unObjeto.

Y por último le hemos pedido que mostrase por consola que tipo de objeto se estaba usando.

75
Adjunto primer ejercicio CU01150E del tutorial JavaScript:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
function Persona(nombre,nacionalidad){
    this.nombre = nombre || 'desconocido';
    this.nacionalidad = nacionalidad || 'desconocido';
}   
Persona.prototype.mostrarNacionalidad = function (){
    alert ('La nacionalidad de '+this.nombre+' es '+this.nacionalidad);
}

function Medico(nombre,nacionalidad,centro){
    Persona.call(this,nombre,nacionalidad);     
     this.centro = centro || 'desconocido';     
}

function Medicoespecialista(especialidad,centro,nombre,nacionalidad){
    Medico.call(this,nombre,nacionalidad,centro);     
     this.especialidad = especialidad || 'desconocida';
}
Medico.prototype = new Persona();
Medicoespecialista.prototype=new Medico();

   
function crearObjeto(){
    var especialista1 = new Medicoespecialista('traumatologo','Valencia','Paco','Español');
   
    especialista1.mostrarNacionalidad();
    var msg = 'La informacion del medico especialista es:\n';
    msg = msg + 'Su nombre es '+especialista1.nombre+' con nacionalidad '+especialista1.nacionalidad;
    msg = msg + ', su centro de trabajo es en '+especialista1.centro;
    msg = msg +'y su especialidad es la de '+especialista1.especialidad;
    alert(msg);
}

    </script>
</head>
<body>
   <button onclick="crearObjeto()">Medico</button>
   
</body>
</html>


Y el segundo ejercicio:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
   
function persona(nombre){
    this.nombre = nombre || 'desconocido';
    this.saludar = function(mastexto){
        alert ('Te saluda ' +this.nombre+ ' que trabaja en '+this.institucionAcademica+mastexto);
    }
}
persona.prototype.definicion = 'Una persona es un ser vivo que tiene conocimiento';
   
function profesor(institucionAcademica,nombre){
    persona.call(this,nombre);
    this.institucionAcademica = institucionAcademica || 'desconocida';
}
   
function profesorInterino(mesesContrato,institucionAcademica,nombre){
    profesor.call(this,institucionAcademica,nombre);
    this.mesesContrato = mesesContrato || 0;
}

function profesorTitular(anyosTrabajados,institucionAcademica,nombre){
    profesor.call(this,institucionAcademica,nombre);
    this.anyosTrabajados = anyosTrabajados || 0;
}

profesor.prototype = new persona();
profesorInterino.prototype = new profesor();
profesorTitular.prototype = new profesor();


function crearObjeto(){
    profesorTitular1 = new profesorTitular(8,'Universidad de Leon','Juan');
    alert(profesorTitular1.definicion);
    profesorTitular1.saludar(' y lleva '+profesorTitular1.anyosTrabajados+' anyos trabajados');
}

    </script>
</head>
<body>
   <button onclick="crearObjeto()">Profesor Titular</button>
   
</body>
</html>

76
Quería que me aclarasen una duda que me ha surgido a la hora de crear objetos.

Por lo que veo la definción de objeto de esta forma:

Código: [Seleccionar]
var avion={};
avion.matricula = "123BD";
avion.modelo = "Airbus"

o definiendolo ya dentro de la definición

Código: [Seleccionar]
var avion={
matricula = "123BD",
modelo = "Airbus"
}

Esta manera de crear objetos que se llama singleton, sería para definir un solo objeto y darle sus propias características.

La otra manera que es construyendo el constructor, es para definir más de un objeto con las características que definimos en el constructor.

Código: [Seleccionar]
function Medico(nombre,curados,especialidad){
     this.nombre = nombre;
     this.curados = curados;
     this.especialidad = especialidad;
     this.curarPersona=function (){
            this.curados++; 
     }
     this.mostrarDatos=function(){
         var msg = "El nombre del medico "+this.nombre+" lleva "+this.curados+" curados y su especialidad es "+this.especialidad;
         alert (msg);
     }
    }

Esto es así, no?

77
Ejercicio CU01149E del tutorial JavaScript.

Vaya lio con heredar tanto de otros, ahí va el primer intento:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<script>
    function vegetal(){
        this.nombre = '';   
    }
    vegetal.prototype.movilidad = '<<Ser vivo sin movilidad>>';
   
    function plantaCultivada(){
        this.nombreCientifico = 'desconocido';
    }
    plantaCultivada.prototype = new vegetal;       
   
    function hortaliza(){
        this.tipoHortaliza = 'indefinido';   
    }
   
    hortaliza.prototype.componentePrincipal = '<<Agua>>';
    hortaliza.prototype = new plantaCultivada;
   
    function Zanahoria(){
        this.podCalorias = 45;   
    }
    Zanahoria.prototype = new hortaliza;
   
    function Lechuga(){
        this.podCalorias = 31;   
    }
    Lechuga.prototype = new hortaliza;
   
    function Tomate(){
        this.podCalorias = 39;   
    }
    Tomate.prototype = new hortaliza;
   
   
   
    function plantas(){
        tomate1 = new Tomate;
        tomate1.nombre  = 'tomatito';
        tomate1.nombreCientifico = 'tomate rojito';
        tomate1.tipoHortaliza = 'tomatus';
        msg = 'El nombre del tomate1 es '+tomate1.nombre;
        msg = msg + ' que corresponde a ' +tomate1.movilidad;
        msg = msg + ' con nombre cientifico '+tomate1.nombreCientifico;
        msg = msg + ' y es del tipo de hortaliza '+tomate1.tipoHortaliza;
        msg = msg + 'cuyo componente principal es el '+tomate1.componentePrincipal;
        alert (msg);
    }
</script>
<body>
    <input type="button" value="Plantas" onclick="plantas()" />
</body>
</html>

78
Ejercicio CU01148E del tutorial JavaScript.

Quisiera preguntar una cosa sobre herencia y metodos estáticos. Entiendo como se hace pero no sé cuando debería usar una manera u otra.

Mi código para este ejercicio

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document ejercicio aprenderaprogramar.com</title>
</head>
<script>

function cometa(diametro,temperaturaC,nombre){
   
    this.diametro = diametro;
   
    this.temperaturaC = temperaturaC;
   
    this.nombre = nombre;
   
}
   
cometa.prototype={
   
    definicion : "Un cometa es muy bonito",
   
    obtenerRadio : function (){
   
                        return  this.diametro / 2;
   
                            },

    obtenerTemperaturaF : function(){
   
                            var fahrenheit = this.temperaturaC * (9/5) + 32;
       
                            return fahrenheit;
                           
                            }
}
   
function crearObjetos(){
    cometa1 = new cometa(200,25,"Amparo");
    cometa2 = new cometa(10,2150,"pepe");
    cometa3 = new cometa(123,12344,"Saturnino");
     
        alert ('El cometa '+cometa2.nombre+' tiene un diametro de'+cometa2.diametro+' y un radio '+cometa2.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa2.temperaturaC+' y de '+cometa2.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa2.definicion);
       
               alert ('El cometa '+cometa1.nombre+' tiene un diametro de'+cometa1.diametro+' y un radio '+cometa1.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa1.temperaturaC+' y de '+cometa1.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa1.definicion);
                     
                      alert ('El cometa '+cometa3.nombre+' tiene un diametro de'+cometa3.diametro+' y un radio '+cometa3.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa3.temperaturaC+' y de '+cometa3.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa3.definicion);
   
}
       
</script>



<body>
    <input type="button" value="cometa" onclick="crearObjetos()" />
</body>
</html>

79
Mi código para el ejercicio CU01147E del tutorial de JavaScript:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<script>

function cometa(diametro,temperaturaC,nombre){
   
    this.diametro = diametro;
   
    this.temperaturaC = temperaturaC;
   
    this.nombre = nombre;
   
}
   
cometa.prototype={
   
    definicion : "Un cometa es muy bonito",
   
    obtenerRadio : function (){
   
                        return  this.diametro / 2;
   
                            },

    obtenerTemperaturaF : function(){
   
                            var fahrenheit = this.temperaturaC * (9/5) + 32;
       
                            return fahrenheit;
                           
                            }
}
   
function crearObjetos(){
    cometa1 = new cometa(200,25,"Amparo");
    cometa2 = new cometa(10,2150,"pepe");
    cometa3 = new cometa(123,12344,"Saturnino");
     
        alert ('El cometa '+cometa2.nombre+' tiene un diametro de'+cometa2.diametro+' y un radio '+cometa2.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa2.temperaturaC+' y de '+cometa2.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa2.definicion);
       
               alert ('El cometa '+cometa1.nombre+' tiene un diametro de'+cometa1.diametro+' y un radio '+cometa1.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa1.temperaturaC+' y de '+cometa1.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa1.definicion);
                     
                      alert ('El cometa '+cometa3.nombre+' tiene un diametro de'+cometa3.diametro+' y un radio '+cometa3.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa3.temperaturaC+' y de '+cometa3.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa3.definicion);
   
}
       
</script>



<body>
    <input type="button" value="cometa" onclick="crearObjetos()" />
</body>
</html>

80
Ejercicio CU01146E del curso:

Del apartado a), no sabría contestar porque poder hacerlo como  sé tendría que modificar mucho el código.

Adjunto mi codigo para apartado b)
Código: [Seleccionar]
<!DOCTYPE html>

<html>
<head>
<title></title>
<meta charset="utf-8">

<script>
function resta(x,y){
    return x-y;
}
   
function suma(x,y){
    return x+y;
}
   
function signo (x,y){
    this.sumar = suma(x,y);
    this.restar = resta(x,y);
}

function calcular(x, y){
    var llamadaObjeto = new signo(x,y);
    for (propiedades in llamadaObjeto){
        alert(x + ' ' + propiedades + ' ' + y + ' = ' + llamadaObjeto[propiedades]);
    }
}
   


function operar() {
var valor1 = Number(prompt("Introduzca el valor 1:"));
var valor2 = Number(prompt("Introduzca el valor 2:"));
calcular(valor1,valor2);
}

</script>
</head>
<body>
<input type="button" value="2 valores" onclick="operar()" />

</body>
</html>


Para el apartado c)

Código: [Seleccionar]
<!DOCTYPE html>

<html>
<head>
<title></title>
<meta charset="utf-8">

<script>
function resta(x,y){
    return x-y;
}
   
function suma(x,y){
    return x+y;
}
   
function mult(x,y){
    return x*y;
}
   
function div(x,y){
    return x / y;
}
   
function signo (x,y){
    this.sumar = suma(x,y);
    this.restar = resta(x,y);
    this.multiplicar = mult(x,y);
    this.dividir = div(x,y);
}

function calcular(x, y){
    var llamadaObjeto = new signo(x,y);
    for (propiedades in llamadaObjeto){
        alert(x + ' ' + propiedades + ' ' + y + ' = ' + llamadaObjeto[propiedades]);
    }
}
   
function operar() {
var valor1 = Number(prompt("Introduzca el valor 1:"));
var valor2 = Number(prompt("Introduzca el valor 2:"));
calcular(valor1,valor2);
}

</script>
</head>
<body>
<input type="button" value="2 valores" onclick="operar()" />
</body>
</html>

Páginas: 1 2 3 [4] 5

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".