Foros del Web » Programando para Internet » Javascript »

Como hacer esto???

Estas en el tema de Como hacer esto??? en el foro de Javascript en Foros del Web. Hola amigos ando en un dilema ahora poruq necesito hacer lo siguiente: tengo una tabla donde pongo el año de inicio y fin de X ...
  #1 (permalink)  
Antiguo 23/04/2008, 15:43
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 4 meses
Puntos: 33
Exclamación Como hacer esto???

Hola amigos ando en un dilema ahora poruq necesito hacer lo siguiente:
tengo una tabla donde pongo el año de inicio y fin de X actividad y con una javascript calculo la duracion de cada actividad, las actividades no se cruzan porque una sigue a la otra, el chiste es que necesito que cuendo metan una fecha como en el ejemplo en la actividad B inicio 2002 y fin 2010 entonces el año actual 2008 esta entre el periodo de la duracion de dicha actividad y la duracion ya esta calculada ahora solo bastaria poder mostrar algo como una imagen que indique en que actididad se encuentra (donde esta la bolita roja) alguien puede ayudarme? el codigo creo que seria en java para no recargar la pagina, pero no tengo idea de como seria, les dejo el que tengo para el calculo


Código PHP:
<script language=javascript>

function 
calcula_dur_a(campo)
{

    if (
document.formulario.fin_a.value != "")
    {
    var 
ini_a document.formulario.ini_a.value;
    var 
fin_a document.formulario.fin_a.value;
    var 
dur_a 0;
    
document.formulario.dur_a.value fin_a ini_a;
    }
    else
    {
    
document.formulario.dur_a.value "";
    }
}
</script> 
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #2 (permalink)  
Antiguo 23/04/2008, 16:05
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 3 meses
Puntos: 98
Re: Como hacer esto???

Vamos para JavaScript.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 24/04/2008, 08:15
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 4 meses
Puntos: 33
Re: Como hacer esto???

alguien tiene una idea? =(
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #4 (permalink)  
Antiguo 24/04/2008, 09:12
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Como hacer esto???

jesus, ilustra un poco mas el escenario

tu actividad la ingresa el usuario....
la registras en una tabla?
el usuario al registrar dicha actividad, dara el fin de la misma?
el año actual sera automatico?
las actividades son continuas o aleatorias?

solo para despejar el escenario y captar mas la idea
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 24/04/2008, 09:34
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 4 meses
Puntos: 33
Exclamación Re: Como hacer esto???

gracias por tu ayuda Shiryu_Libra mira las actividades son fijas y solo son 3, en una tabla solo guardo la fecha de inicio y fin de cada una mira he estado buscando y llevo esto pero todavia no me logra mostrar la imagen la cual es flecha_ep me dice que no esta definida o algo asi

este es mi codigo java
Código PHP:
function calcula_dur_ep(campo)
{

    if (
document.formulario.fin_ep.value != "")
    {
    var 
ini_ep document.formulario.ini_ep.value;
    var 
fin_ep document.formulario.fin_ep.value;
    var 
dur_ep 0;
    
document.formulario.dur_ep.value fin_ep-ini_ep;
        
        
//MOSTRAR IMAGEN DE FLECHA QUE INDICA LA ACTIVIDAD ACTUAL
        
var fecha=new Date();
        var 
ano=fecha.getFullYear();
        if (
ano >= ini_ep && ano <= fin_ep) {
        
//document.formulario.flecha_ep.style.visibility = 'visible'
        
document.getElementById(flecha_ep).style.visibility 'visible'
        
}

    }
    else
    {
    
document.formulario.dur_ep.value "";
    }

este es el div donde tengo la imagen son 3 divs uno por cada actividad
Código PHP:
<div id="flecha_ep" style="position:absolute; left: 463px; top: 656px; visibility:hidden"><img src="imgs/flecha.JPG" width="50" height="50" /></div
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #6 (permalink)  
Antiguo 24/04/2008, 18:46
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Como hacer esto???

Jesus... la idea es esta, pero hay unos problemas de recursividad con la funcion que colorea, echale una miradita haber que te parece

Código HTML:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
ai=2000
af=2002
bi=2002
bf=2010
ci=2010
cf=2012
fecha=year(now)
ad=(af-ai)
bd=(bf-bi)
cd=(cf-ci)
if fecha>=ai and fecha<af then 
    a="ok"
elseif fecha>=bi and fecha<bf then 
    b="ok"
elseif fecha>=ci and fecha<cf then 
    c="ok"
end if
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<style>
input{
    border:#CCCCCC 1px thin;
    width:35px;}
</style>
<script>
function calcular(par){
//definicion de variables
var a, b, c, d, fecha, fyear, letra;

//asignacion de valores
a=document.getElementById(par + "i"); // fecha inicio
b=document.getElementById(par + "f"); // fecha fin
c=document.getElementById(par + "d"); // diferencia
d=document.getElementById(par); // espacio ROJO

//evaluaciones
c.value=(parseInt(b.value) - parseInt(a.value));
colorear(par);
}
function colorear(par1){
var e, f, ua, ub,uc;
var fecha=new Date();
var fyear=fecha.getFullYear();
e=document.getElementById(par1 + "f");
f=document.getElementById(par1);
g=document.getElementById('a');
h=document.getElementById('b');
i=document.getElementById('c');
switch(par1)
    {
    case "a":     if((fyear<e.value)||(fyear==e.value))
                    {f.style.backgroundColor="#FF0000";
                    h.style.backgroundColor="";
                    i.style.backgroundColor="";}
                else{colorear('b');}break;
    case "b":     if((fyear<e.value)||(fyear==e.value))
                    {f.style.backgroundColor="#FF0000";
                    g.style.backgroundColor="";
                    i.style.backgroundColor="";}
                else{colorear('c');}break;
    case "c":     if((fyear<e.value)||(fyear==e.value))
                    {f.style.backgroundColor="#FF0000";
                    h.style.backgroundColor="";
                    g.style.backgroundColor="";}
                else{colorear('a');}break;
    default:alert('ninguna fecha');break;
    }
}  </script>
</head>

<body>
<table>
    <tr><td>&nbsp;</td><th>A</th><th>B</th><th>C</th></tr>
    <tr>
        <th>
        <div id="info">
            <ul>Inicio</ul>
            <ul>Fin</ul>
            <ul>duracion</ul></div></th>
        <td><div id="a" <%if a="ok" then response.Write "style='background-color:#FF0000'"%>>
            <ul><input type="text" value="<%=ai%>" id="ai" onchange="calcular('a')" /></ul>
            <ul><input type="text" value="<%=af%>" id="af" onchange="calcular('a')" /></ul>
            <ul><input type="text" value="<%=ad%>" id="ad" readonly="readonly" /></ul></div></td>
        <td><div id="b" <%if b="ok" then response.Write "style='background-color:#FF0000'"%>>
            <ul><input type="text" value="<%=bi%>" id="bi" onchange="calcular('b')" /></ul>
            <ul><input type="text" value="<%=bf%>" id="bf" onchange="calcular('b')" /></ul>
            <ul><input type="text" value="<%=bd%>" id="bd" readonly="readonly" /></ul></div></td>
        <td><div id="c" <%if c="ok" then response.Write "style='background-color:#FF0000'"%>>
            <ul><input type="text" value="<%=ci%>" id="ci" onchange="calcular('c')" /></ul>
            <ul><input type="text" value="<%=cf%>" id="cf" onchange="calcular('c')" /></ul>
            <ul><input type="text" value="<%=cd%>" id="cd" readonly="readonly" /></ul></div></td>
    </tr>
</table>
<script>calcular('a');</script>
</body>
</html> 
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 25/04/2008, 08:58
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 4 meses
Puntos: 33
Re: Como hacer esto???

gracias amigo lo checare para ver como lo adapto, saludos
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:59.