Retroceder   Foros del Web > Programación para sitios web > Javascript

Respuesta
 
Herramientas Desplegado
Antiguo 23-abr-2008, 15:43   #1 (permalink)
omegafunky está en el buen camino
 
Avatar de omegafunky
 
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.457
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> 
__________________
Intel Core 2 Duo E6600 2.40GHz | ASUS P5K SE | 2GBs DDR2 800Mhz | ATI Radeon HD 2600XT 256MB DDR3 | 320GB Seagate SATA II
omegafunky está desconectado   Responder Citando
Antiguo 23-abr-2008, 16:05   #2 (permalink)
Moderador
u_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy prontou_goldman llegará a ser famoso muy pronto
 
Avatar de u_goldman
 
Fecha de Ingreso: noviembre-2002
Ubicación: LA
Mensajes: 7.388
Re: Como hacer esto???

Vamos para JavaScript.

Saludos
__________________
¿Qué darías por vivir un sueño?
u_goldman está desconectado   Responder Citando
Antiguo 24-abr-2008, 08:15   #3 (permalink)
omegafunky está en el buen camino
 
Avatar de omegafunky
 
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.457
Re: Como hacer esto???

alguien tiene una idea? =(
__________________
Intel Core 2 Duo E6600 2.40GHz | ASUS P5K SE | 2GBs DDR2 800Mhz | ATI Radeon HD 2600XT 256MB DDR3 | 320GB Seagate SATA II
omegafunky está desconectado   Responder Citando
Antiguo 24-abr-2008, 09:12   #4 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.721
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
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
Shiryu_Libra está desconectado   Responder Citando
Antiguo 24-abr-2008, 09:34   #5 (permalink)
omegafunky está en el buen camino
 
Avatar de omegafunky
 
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.457
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
__________________
Intel Core 2 Duo E6600 2.40GHz | ASUS P5K SE | 2GBs DDR2 800Mhz | ATI Radeon HD 2600XT 256MB DDR3 | 320GB Seagate SATA II
omegafunky está desconectado   Responder Citando
Antiguo 24-abr-2008, 18:46   #6 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.721
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
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
Shiryu_Libra está desconectado   Responder Citando
Antiguo 25-abr-2008, 08:58   #7 (permalink)
omegafunky está en el buen camino
 
Avatar de omegafunky
 
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.457
Re: Como hacer esto???

gracias amigo lo checare para ver como lo adapto, saludos
__________________
Intel Core 2 Duo E6600 2.40GHz | ASUS P5K SE | 2GBs DDR2 800Mhz | ATI Radeon HD 2600XT 256MB DDR3 | 320GB Seagate SATA II
omegafunky está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 09:49.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93