Foros del Web » Programando para Internet » Javascript »

casi tengo terminado este script necesito ayuda

Estas en el tema de casi tengo terminado este script necesito ayuda en el foro de Javascript en Foros del Web. saludos.. siguiendo un libro que tengo de javascript he hecho un script con unas imagenes de un mapa de españa en el que hay señaladas ...
  #1 (permalink)  
Antiguo 14/07/2009, 07:24
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
casi tengo terminado este script necesito ayuda

saludos..

siguiendo un libro que tengo de javascript he hecho un script con unas imagenes de un mapa de españa en el que hay señaladas varias ciudades cuando se pincha en las zonas donde estan las ciudades se me abre una pagina....

pero yo lo que quiero es cuando pinche en las imagenes me salga un cuadro de dialogo o una pagina independiente de pequeño tamaño donde poner un texto relacionado con la ciudad en la que se a pinchado.

como se hace esto en javascript... si alguien lo necesita pongo el codigo.
  #2 (permalink)  
Antiguo 14/07/2009, 07:38
Avatar de Legoltaz  
Fecha de Ingreso: agosto-2008
Mensajes: 325
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: casi tengo terminado este script necesito ayuda

Para cuadros de diálogo tienes: alert(), confirm() y prompt().
Para abrir una nueva ventana personalizada (popup): window.open();
  #3 (permalink)  
Antiguo 14/07/2009, 07:43
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

como meto el codigo de la funcion windows.open() lo digo para meterle texto y puede ke alguna imagen????? se hace en el head, pero ahi le meto el texto o tengo ke relacionar la funcion con codigo en el body???

este es el codigo del head ke e usado....

<script type="text/javascript">
function loadconst() {
var areas = document.getElementsByTagName("area");
for (var i = 0; i < areas.length; i++) {
areas[i].onmouseover = mouseOver;
areas[i].onmouseout = mouseOut;
}
}
function mouseOver() {
document.getElementById("MAPA").src = "MAPA_map_" + this.id + ".gif";
}

function mouseOut() {
document.getElementById("MAPA").src = "MAPA_MAP_DEFAULT.gif";
}

</script>
  #4 (permalink)  
Antiguo 14/07/2009, 07:51
Avatar de Legoltaz  
Fecha de Ingreso: agosto-2008
Mensajes: 325
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: casi tengo terminado este script necesito ayuda

La estructura del popup es: window.open(URL,name,specs,replace)

Más información: http://www.w3schools.com/HTMLDOM/met_win_open.asp
  #5 (permalink)  
Antiguo 14/07/2009, 08:23
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

gracias colega XD
  #6 (permalink)  
Antiguo 15/07/2009, 12:02
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

ya e conseguido que cuando pulso encima de la ciudad del mapa se me abra una nueva ventana en el mozilla a una web externa pero como tengo que modificar el codigo javascript para que se me abra una vetana pequeña digamos de 200px de ancho y 200 de alto para cada ciudad??? como se hace esto con javascript.

este es el codigo que tengo:

javascript:
Código:
<script type="text/javascript">
function loadconst() {
var areas = document.getElementsByTagName("area");
for (var i = 0; i < areas.length; i++) {
    areas[i].onmouseover = mouseOver;
    areas[i].onmouseout = mouseOut;
}
}
function mouseOver() {
    document.getElementById("MAPA").src = "MAPA_map_" + this.id + ".gif";
}

function mouseOut() {
    document.getElementById("MAPA").src = "MAPA_MAP_DEFAULT.gif";
}

function open_win()
{
window.open("http://www.marca.com") //e puesto esta web por poner una para probar el codigo //
}
</script>

html:

Código:
<div id="mapa">

	 <img src="imagenes/MAPA_MAP_DEFAULT.GIF" alt="ESPAÑA" name="MAPAGIF" width="239" height="164" useMap = "#MAP"  isMap id="MAPAGIF"></p>

<p><map name = "MAP">
<area id="malaga" coords="84,122,110,156" alt="Draco" shape="RECT" onclick="open_win()" />

<area id="barcelona" coords="153,67,189,100" alt="Draco" shape="RECT" href="http://en.wikipedia.org/wiki/Draco">

<area id="malaga" coords="63,41,121,86" alt="Draco" shape="RECT" href="http://en.wikipedia.org/wiki/Draco">

<area id="madrid" coords="162,35,229,57" alt="Ursa Minor" shape="RECT" href="http://en.wikipedia.org/wiki/Ursa_Minor">
</map>
  #7 (permalink)  
Antiguo 15/07/2009, 13:31
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: casi tengo terminado este script necesito ayuda

Y porque si lo que queres es poner informacion de la ciudad no haces algun div que este invisible y cuando le haces mouseover se pone en visible y en mouseout lo volves a esconder? a los divs le podes poner el tamaño formato y lo que sea con los css, salvo que lo que quieras es abrir otra web si o si ahi ya no te servirian...
  #8 (permalink)  
Antiguo 15/07/2009, 15:44
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

si, es que lo que quiero, es abrir una ventana nueva pero pequeña.

he pensado en utilizar un switch para hacer esto, pero no se como enlazarlo con la primera funcion la del mouseover y el mouseout, pongo el codigo como lo tengo ahora:


Código:
<script type="text/javascript">
function loadconst() {
var areas = document.getElementsByTagName("area");
for (var i = 0; i < areas.length; i++) {
    areas[i].onmouseover = mouseOver;
    areas[i].onmouseout = mouseOut;
}

function mouseOver() {
    document.getElementById("MAPA").src = "MAPA_map_" + this.id + ".gif";
}

function mouseOut() {
    document.getElementById("MAPA").src = "MAPA_MAP_DEFAULT.gif";
}

function open_win()
{
var areas = document.getElementsByTagName("area");

switch (area) {
case "malaga":
window.open("http://www.gjhgjhg.com")
break;

case "barcelona":
window.open("http://www.jojjojok.com")
break;

case "valencia":
window.open("http://www.kkhkhk.com")
break;

case "madrid":
window.open("http://www.jhjhj.com")
break;

}
}
  #9 (permalink)  
Antiguo 15/07/2009, 16:40
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: casi tengo terminado este script necesito ayuda

No entiendo bien lo que queres hacer con el mouseover con el tema de que las ventanas sean pequeñas le tenes que pasar los 2 parametros que restan a la funcion window open ejemplo:

Código PHP:
window.open('direccion url','_blank','width=100,height=100'); 
y creo que en ves de un switch directamente como usas on click podrias poner algo asi

Código PHP:
function obtenerId(id) {
var 
ruta "h ttp://w ww." id ".com";
window.open(ruta,'_blank','width=100,height=100');

Código HTML:
<area id="malaga" onclick="obtenerId(this.id)"> 
es un ejemplo simplificado despues tendrias que adaptarlo.

Saludos

Última edición por djaevi; 15/07/2009 a las 16:45
  #10 (permalink)  
Antiguo 15/07/2009, 16:48
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: casi tengo terminado este script necesito ayuda

Cita:
Iniciado por djaevi Ver Mensaje
No entiendo bien lo que queres hacer con el mouseover con el tema de que las ventanas sean pequeñas le tenes que pasar los 2 parametros que restan a la funcion window open ejemplo:

Código PHP:
window.open('direccion url','_blank','width=100,height=100'); 
y creo que en ves de un switch directamente como usas on click podrias poner algo asi

Código PHP:
function obtenerId(id) {
var 
ruta "h ttp://w ww." id ".com";
window.open(ruta,'_blank','width=100,height=100');

Código HTML:
<area id="malaga" onclick="obtenerId(this.id)"> 
PD: uni el h ttp y el w ww los separe porque no me deja postear links

es un ejemplo simplificado despues tendrias que adaptarlo.

Saludos
  #11 (permalink)  
Antiguo 15/07/2009, 17:23
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

no lo consigo con el codigo ke me as pasado...no se como adaptarlo.......me lo puedes explicar mejor??? gracias
  #12 (permalink)  
Antiguo 16/07/2009, 06:49
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: casi tengo terminado este script necesito ayuda

Porque no usas sino en el area otro parametro como por ejemplo name para pasar el nombre de la direccion web? ejemplo

Código PHP:
function hacerPopup(name) {
window.open(name,'_blank','width=100,height=100');

Código HTML:
<area id="malaga" name="htt p://w ww.miweb.com" onclick="hacerPopup(this.name)"> 
la funcion hacerPopup recibe un parametro que se va a usar como direccion URL en la funcion window open, y este parametro va a ser el nombre de cada area ya que al clickear sobre un area envia el valor this.name osea en tu caso el link a la pagina de esa area. Cualquier cosa avisame...

Saludos
  #13 (permalink)  
Antiguo 16/07/2009, 08:27
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

ke va .. no me funciona ahora si e entendido bien tu codigo y lo e insertado bien pero sigue sin funcionar ke raro............y otra cosa yo kiero relacionar varias imagenes con varias ciudades asi ke como hay ke modificar el codigo para ke maneje todas las ciudades?
  #14 (permalink)  
Antiguo 18/07/2009, 19:08
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

sigue sin salirme..por favor alguien ke me ayude....por mas ke pienso y modifico el codigo no me funciona en nada......
  #15 (permalink)  
Antiguo 20/07/2009, 17:03
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

ya casi e conseguido lo ke keria hacer..este es el codigo ke estoy usando ahora:

Código:
<script type="text/javascript">

function openWin()
{
myWindow=window.open('','','width=400,height=200');
myWindow.document.write("oficina malaga: telefono de contacto 952xxx");
myWindow.focus();
}

</script>

<script type="text/javascript">
function openVentana()
{
myWindow=window.open('','','width=400,height=200');
myWindow.document.write("oficina malaga: telefono de contacto 952xxx");
myWindow.focus();
}
</script>

<script type="text/javascript">
function openCiudad()
{
myWindow=window.open('','','width=400,height=200');
myWindow.document.write("oficina malaga: telefono de contacto 952xxx");
myWindow.focus();
}
</script>

<script type="text/javascript">
function openBarsa()
{
myWindow=window.open('','','width=400,height=200');
myWindow.document.write("oficina malaga: telefono de contacto 952xxx");
myWindow.focus();
}
</script>

<script type="text/javascript">
function loadconst() {
var areas = document.getElementsByTagName("area");
var miArray = new Array(4) 

miArray[0] = "www.terra.es";
miArray[1] = "www.facebook.com";
miArray[2] = "www.todocvcd.com";
miArray[3] = "www.cocacola.es";

for (var i = 0; i < areas.length; i++) {
    areas[i].onmouseover = mouseOver;
    areas[i].onmouseout = mouseOut;
	areas[i].onclick= onClick;
}

function mouseOver() {
    document.getElementById("MAPA").src = "MAPA_map_" + this.id + ".gif";
	
}
}
function mouseOut() {
    document.getElementById("MAPA").src = "MAPA_MAP_DEFAULT.gif";
}

}

</script>
Código:
<div id="mapa">
	 <img src="imagenes/MAPA_MAP_DEFAULT.GIF" alt="ESPAÑA" name="MAPAGIF" width="239" height="164" useMap = "#MAP"  isMap id="MAPAGIF"></p>
	 
<p><map name = "MAP">

<area id="malaga" coords="23,128,162,161" alt="Draco"   shape="RECT" onclick="openWin()"/>

<area id="valencia" coords="153,67,189,100" alt="Draco" shape="RECT" onclick="openVentana()"/>

<area id="madrid" coords="63,41,121,86" alt="Draco" shape="RECT" onclick="openCiudad()"/>

<area id="barcelona" coords="159,34,226,56" alt="Ursa Minor" shape="RECT" onclick="openBarsa()"/>

</map>
Como hago ahora, para darle formato a las ventanas nuevas ke se me abren? es decir un poco de maquetacion????
  #16 (permalink)  
Antiguo 20/07/2009, 17:52
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: casi tengo terminado este script necesito ayuda

saludos:

este script me da error en una linea este es el error que me da:

missing; before statement.

haber si alguien me puede ayudar.........



Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>search</title>

    <script type="text/javascript">
var requestObj = readyAJAX();
var url ="http://www.hotmail.com";
requestObj.open("GET", url,true);
requestObj.send();
var AJAXresponse;
requestObj.onreadsystatechange= function() {
    if (requestObj.readyState == 4) {
        if (requestObj.status == 200){
            AJAxresponse =requestObj.responseXML;
            listName("");
        }else {
            alert(requestObj.statusText);
        }
    }
}

if (windows.attachEvent){
    document.getElementById("textname").attachEvent("onkeyup" ,
    textsearch);
}
else {
    document.getElementById("textname").addEventListener("keyup",
    textsearch,false);
}

function textsearch(){
    var textName = document.getElementById("textname");
    var dataNode = document.getElementById("data");
    while (dataNode.removeChildNodes()){
        dataNode.removeChild(dataNode.firstChild);

    }
    listName(textName.value);

function listName(text) {
    var xmlEl = AJAXresponse.getElementsByTagName("bookmark");
    for (i = 0; i< xmlEl.length; i++){
        var div = document.createElement("div");
        //create the row elements
        for (j = 0; j < xmlEl[i].chilNodes.length; j++){
            //skip it if the ype is not 1
            if (xmlEl[i].childNodes[j].nodeType != 1){
                    continue;

            }

    var url = new RegExp("http");
    if ( ! xmlEl[i].childNodes[j].firstChild.nodeValue.match(url)){
        var pattern ="^" + text;
        var title = xmlEl[i].childNodes[j].firstChild.nodeValue;
        var nameRegexp = new ReExp(pattern, "i");
        var existDiv = document.getElementById(title);
        if (! existDiv){
            if (title.match(nameRegexp)){
                var anchor = document.createElement("a");
//aqui da el error
                var xmlData = document.createTextNode(xmlEl[i]).

                    childNodes[j].firstChild. nodeValue);
                 //

                var urls = AJAXresponse.getElementsByTagName("url");
                anchor.setAttribute("href", urls[i].firstChild.nodeValue);
                anchor.appendChild(xmlData);
                div.appendChild(anchor);

            }
        }
    }

    }
document.getElementsById("data").appendChild(div);
    }
}
</script>
    </head>
    <body>
    <form name="nameform" id="nameform" action="" method="post">
    Bookmark search: <input id="textname" type="text" name="textname">
    </form>



    </body>
</html>
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:57.