Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   Como hacer esto??? (http://www.forosdelweb.com/f13/como-hacer-esto-579283/)

omegafunky 23/04/2008 15:43

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

http://i296.photobucket.com/albums/m...nky/dibujo.jpg
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> 


u_goldman 23/04/2008 16:05

Re: Como hacer esto???
 
Vamos para JavaScript.

Saludos

omegafunky 24/04/2008 08:15

Re: Como hacer esto???
 
alguien tiene una idea? =(

Shiryu_Libra 24/04/2008 09:12

Re: Como hacer esto???
 
:adios: 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?

:pensando: solo para despejar el escenario y captar mas la idea :arriba:

omegafunky 24/04/2008 09:34

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


Shiryu_Libra 24/04/2008 18:46

Re: Como hacer esto???
 
:adios: 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>

:adios:

omegafunky 25/04/2008 08:58

Re: Como hacer esto???
 
gracias amigo lo checare para ver como lo adapto, saludos


La zona horaria es GMT -6. Ahora son las 22:26.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.