JavaScript - Problemas con una funcion javascript

 
Vista:
Imágen de perfil de Carlos
Val: 6
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problemas con una funcion javascript

Publicado por Carlos (14 intervenciones) el 13/01/2026 23:39:07
Tengo un pequeño sitio web que obtiene ciertps datos desde un archivo javascript externo (de uso público), cuando ejecuto la función, en una tabla del sitio en html, se muestran los datos que necesito, pero por razones que no entiendo hay dos de esas valores no se muestran en esa tabla.

Esas variables asumen un nombre después de un ciclo if para varias opciones, y relamente no entiendo que pasa.

La idea es que dependiendo de la variable de consulta (ciudad) se muestren los datos relacionados en cada tabla del sitio en forma independiente.

Lo hice con una función, para no repetir el codigo javascript por cada tabla, pero se presenta esa problema.

<!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ítulo</title>
</head>
<body>
<script language="javascript" src="https://archivos.meteochile.gob.cl/portaldmc/appdata/condicionactual.js?"></script>
<script language="javascript" src="js/datosmetar.js" type="text/javascript"></script>
<script language="javascript" src="js/localiza.js" type="text/javascript"></script>
<script language="javascript" src="js/wind.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var sig = "";
var nomb_ciu = "";
</script>
<script type="text/javascript">
var obmetar = CondicionActualMetar['SCVD'].split("|");
estac = obmetar[0];
hramet = obmetar[1];
dddvto = obmetar[2];
dvto = Number(obmetar[2]);
fffvto = obmetar[3];
fvto = Number(obmetar[3]);
visib = obmetar[4];
fenom = obmetar[5];
temp = obmetar[6];
stem = Number(obmetar[6]);
cielo = obmetar[7];
icono = obmetar[8];
icon_f = obmetar[8].split(".");
ico1 = icon_f[0];
hrel = obmetar[9];
condic = obmetar[10];
var actualizado = CondicionActualMetar_actualizado;
</script>
<script>
function buscametar(){
function localidad();
function viento();
}
</script>
<table width="789" align="center" cellspacing=" ">
<tbody>
<tr>
<td colspan="4">Ciudad: <script language="javascript" type="text/javascript" >document.write(nomb_ciu);</script></td>
</tr>
<tr>
<td width="156">Ap/Ad: <script language="javascript" type="text/javascript" >document.write(estac);</script></td>
<td width="146">Hora: <script language="javascript" type="text/javascript" >document.write(hramet);</script></td>
<td width="148">DirVto :<script language="javascript" type="text/javascript" >document.write(dddvto);</script></td>
<td width="329">SigVto: <script language="javascript" type="text/javascript" >document.write(sig);</script></td>
</tr>
<tr>
<td>IntVto: <script language="javascript" type="text/javascript" >document.write(fffvto);</script></td>
<td>Temp: <script language="javascript" type="text/javascript" >document.write(temp);</script></td>
<td>Humedad: <script language="javascript" type="text/javascript" >document.write(hrel);</script></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Visibilidad: <script language="javascript" type="text/javascript" >document.write(visib);</script></td>
<td>Fenomeno: <script language="javascript" type="text/javascript" >document.write(fenom);</script></td>
<td>Cielo: <script language="javascript" type="text/javascript" >document.write(cielo);</script></td>
<td><script language="javascript" type="text/javascript" >document.write(condic);</script></td>
</tr>
</tbody>
</table>
</body>
</html>


Y las funciones que no entregan esos valores son las siguientes:

Funcion localiza.js

function localidad() {
if (estac == "SCAP") {nomb_ciu = "Alto Palena";}
if (estac == "SCAR") {nomb_ciu = "Arica";}
if (estac == "SCAS") {nomb_ciu = "Puerto Aysén";}
if (estac == "SCAT") {nomb_ciu = "Copiapó";}
if (estac == "SCBA") {nomb_ciu = "Balmaceda";}
if (estac == "SCCC") {nomb_ciu = "Chile Chico";}
if (estac == "SCCF") {nomb_ciu = "Calama";}
if (estac == "SCCH") {nomb_ciu = "Chillán";}
if (estac == "SCCI") {nomb_ciu = "Punta Arenas";}
if (estac == "SCCY") {nomb_ciu = "Coyhaique";}
if (estac == "SCDA") {nomb_ciu = "Iquique";}
if (estac == "SCEL") {nomb_ciu = "Santiago - Aeropuerto";}
if (estac == "SCTB") {nomb_ciu = "Santiago - Centro";}
if (estac == "SCFA") {nomb_ciu = "Antofagasta";}
if (estac == "SCFM") {nomb_ciu = "Porvenir";}
if (estac == "SCFT") {nomb_ciu = "Futaleufú";}
if (estac == "SCGE") {nomb_ciu = "Los Angeles";}
if (estac == "SCGZ") {nomb_ciu = "Puerto Williams";}
if (estac == "SCHR") {nomb_ciu = "Cochrane";}
if (estac == "SCIC") {nomb_ciu = "Curicó";}
if (estac == "SCIE") {nomb_ciu = "Concepción";}
if (estac == "SCIP") {nomb_ciu = "Isla de Pascua";}
if (estac == "SCBA") {nomb_ciu = "Balmaceda";}
if (estac == "SCIR") {nomb_ciu = "Juan Fernández";}
if (estac == "SCJO") {nomb_ciu = "Osorno";}
if (estac == "SCMK") {nomb_ciu = "Melinka";}
if (estac == "SCNT") {nomb_ciu = "Puerto Natales";}
if (estac == "SCON") {nomb_ciu = "Quellón";}
if (estac == "SCRD") {nomb_ciu = "Rodelillo";}
if (estac == "SCRG") {nomb_ciu = "Rancagua";}
if (estac == "SCRM") {nomb_ciu = "Antártica";}
if (estac == "SCSE") {nomb_ciu = "La Serena/Coquimbo";}
if (estac == "SCSN") {nomb_ciu = "San Antonio/Cartagena";}
if (estac == "SCTE") {nomb_ciu = "Puerto Montt";}
if (estac == "SCVD") {nomb_ciu = "Valdivia";}
if (estac == "SCVM") {nomb_ciu = "Viña del Mar/Valparaíso";}
if (estac == "SCQN") {nomb_ciu = "Santiago Centro";}
if (estac == "SCQP") {nomb_ciu = "Temuco";}
if (estac == "SCTN") {nomb_ciu = "Chaitén";}

y
Funcion wind.js

// JavaScript Document
function viento() {
// Define Dirección del viento
if(dvto == 20 || dvto == 30 ) { sig="NNE"; imag_dv='<img src="metar/'+"nne.png"+'"border=0 width=23 heigth=23 title="Nor Noreste">';}
if(dvto == 40 || dvto == 50 ) { sig="NE"; imag_dv='<img src="metar/'+"ne.png"+'"border=0 width=23 heigth=23 title="Noreste">';}
if(dvto == 60 || dvto == 70 ) { sig="ENE"; imag_dv='<img src="metar/'+"ene.png"+'"border=0 width=23 heigth=23 title="Este Noreste">';}
if(dvto == 80 || dvto == 90 || dvto == 100) { sig="E"; imag_dv='<img src="metar/'+"e.png"+'"border=0 width=23 heigth=23 title="Este">'; }
if(dvto == 110 || dvto == 120 ) { sig="ESE";imag_dv='<img src="metar/'+"ese.png"+'"border=0 width=23 heigth=23 title="Este Sureste">'; }
if(dvto == 130 || dvto == 140) { sig="SE"; imag_dv='<img src="metar/'+"se.png"+'"border=0 width=23 heigth=23 title="Sureste">';}
if(dvto == 150 || dvto == 160 ) { sig="SSE"; imag_dv='<img src="metar/'+"sse.png"+'"border=0 width=23 heigth=23 title="Sur Sureste">';}
if(dvto == 170 || dvto == 180 || dvto == 190) { sig="S"; imag_dv='<img src="metar/'+"s.png"+'"border=0 width=23 heigth=23 title="Sur">'; }
if(dvto == 200 || dvto == 210 ) { sig="SSO"; imag_dv='<img src="metar/'+"sso.png"+'"border=0 width=23 heigth=23 title="Sur Suroeste">';}
if(dvto == 220 || dvto == 230) { sig="SO"; imag_dv='<img src="metar/'+"so.png"+'"border=0 width=23 heigth=23 title="Sur Oeste">';}
if(dvto == 240 || dvto == 250 ) { sig="OSO"; imag_dv='<img src="metar/'+"oso.png"+'"border=0 width=23 heigth=23 title="Oeste Suroeste">';}
if(dvto == 260 || dvto == 270 || dvto == 280) { sig="O"; imag_dv='<img src="metar/'+"o.png"+'"border=0 width=23 heigth=23 title="Oeste">'; }
if(dvto == 290 || dvto == 300 ) { sig="ONO"; imag_dv='<img src="metar/'+"ono.png"+'"border=0 width=23 heigth=23 title="Oeste Noroeste">';}
if(dvto == 310 || dvto == 320) { sig="NO"; imag_dv='<img src="metar/'+"no.png"+'"border=0 width=23 heigth=23 title="Noroeste">'; }
if(dvto == 330 || dvto == 340) { sig="NNO"; imag_dv='<img src="metar/'+"nno.png"+'"border=0 width=23 heigth=23 title="Nor Noroeste">'; }
if(dvto == 350 || dvto == 360 || dvto == 10 ) { sig="N"; imag_dv='<img src="metar/'+"n.png"+'"border=0 width=23 heigth=23 title="Norte">'; }
if(dvto == 0 && fvto == 0 ) { sig="ND"; imag_dv='<img src="metar/'+"nd.png"+'"border=0 width=23 heigth=23 title="Viento Calma">'; }
if(dddvto == "VRB") { sig="VAR"; imag_dv='<img src="metar/'+"nd.png"+'"border=0 width=23 heigth=23 title="Viento Variable">'; }
/* if(dddvto == "VRB" && fvto < 4 ) { sig="VAR"; imag_dv='<img src="metar/'+"nd.png"+'"border=0 width=23 heigth=23 title="Viento Variable">'; }*/
}

Están marcadas con negrilla las variables que no muestran sus resultados, si alguien me puede explicar que pueda estar pasando, se lo agradezco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder