Jump to content

[SOLUCIONADO]Ayuda - Crear DIVs laterales mediante script


Rubén

Recommended Posts

Hola, buenos días a todos comunidad.

 

Hace poco statictic me ayudó a crear un div mediante javascript, es este:

 <script type="text/javascript">
// <![CDATA[
function createDiv() {
var divg = document.createElement("div");
var newImg = document.createElement("img");
var newLink = document.createElement("a");
divg.setAttribute("style", "position:fixed; top:250px; right:0px; z-index:9999;");
newImg.src = "http://premiosweb.lasprovincias.es/sites/premiosweb.lasprovincias.es/themes/omega/i/PW13DERBLANCO.png";
newImg.alt = "Premios Web lasprovincias.es";
newLink.href = "http://premiosweb.lasprovincias.es/ecommerce/excellence-dogs";
divg.appendChild(newLink); newLink.appendChild(newImg);
document.body.appendChild(divg);
}
window.onload = createDiv;
// ]]>
</script>

 

Bien, yo quería crear otro div flotante pero a la izquierda, así que pense en modificar el código y dejarlo así (poniendo los dos en header.tpl)

 

<script type="text/javascript">
// <![CDATA[
function createDiv() {
var divg = document.createElement("div");
var newImg = document.createElement("img");
var newLink = document.createElement("a");
divg.setAttribute("style", "position:fixed; top:250px; left:0px; z-index:9999;");
newImg.src = "http://excellencedogs.com/img/enviogratis.png";
newImg.alt = "Envíos gratis a partir de 60€";
newLink.href = "#";
divg.appendChild(newLink); newLink.appendChild(newImg);
document.body.appendChild(divg);
}
window.onload = createDiv;
// ]]>
</script>

 

El problema es que solo me reconoce uno de los dos, uno u otro, nunca los dos a la vez. ¿Cómo puedo hacer para ejecutar los dos códigos a la vez? ¿Es posible? gracias a todos de antemano.

Edited by Rubén (see edit history)
Link to comment
Share on other sites

Hola, buenos días a todos comunidad.

 

Hace poco statictic me ayudó a crear un div mediante javascript, es este:

 <script type="text/javascript">
// <![CDATA[
function createDiv() {
var divg = document.createElement("div");
var newImg = document.createElement("img");
var newLink = document.createElement("a");
divg.setAttribute("style", "position:fixed; top:250px; right:0px; z-index:9999;");
newImg.src = "http://premiosweb.lasprovincias.es/sites/premiosweb.lasprovincias.es/themes/omega/i/PW13DERBLANCO.png";
newImg.alt = "Premios Web lasprovincias.es";
newLink.href = "http://premiosweb.lasprovincias.es/ecommerce/excellence-dogs";
divg.appendChild(newLink); newLink.appendChild(newImg);
document.body.appendChild(divg);
}
window.onload = createDiv;
// ]]>
</script>

 

Bien, yo quería crear otro div flotante pero a la izquierda, así que pense en modificar el código y dejarlo así (poniendo los dos en header.tpl)

 

<script type="text/javascript">
// <![CDATA[
function createDiv() {
var divg = document.createElement("div");
var newImg = document.createElement("img");
var newLink = document.createElement("a");
divg.setAttribute("style", "position:fixed; top:250px; left:0px; z-index:9999;");
newImg.src = "http://excellencedogs.com/img/enviogratis.png";
newImg.alt = "Envíos gratis a partir de 60€";
newLink.href = "#";
divg.appendChild(newLink); newLink.appendChild(newImg);
document.body.appendChild(divg);
}
window.onload = createDiv;
// ]]>
</script>

 

El problema es que solo me reconoce uno de los dos, uno u otro, nunca los dos a la vez. ¿Cómo puedo hacer para ejecutar los dos códigos a la vez? ¿Es posible? gracias a todos de antemano.

 

Yo de CSS y php poco, pero..

 

Si la posición es la misma:

 

No se superpone uno sobre el otro al darle la misma posición?

 

Igual si cambias los valores a 275 a ver que te sale.

 

("style", "position:fixed; top:250px; left:0px; z-index:9999;");

Link to comment
Share on other sites

Yo de CSS y php poco, pero..

 

Si la posición es la misma:

 

No se superpone uno sobre el otro al darle la misma posición?

 

Igual si cambias los valores a 275 a ver que te sale.

 

("style","position:fixed; top:250px; left:0px; z-index:9999;");

 

Amigo, uno es a la derecha y el otro a la izquierda

Link to comment
Share on other sites

Amigo, uno es a la derecha y el otro a la izquierda

 

Si ahora lo vi, o px a la Iz, o a la derecha, ¿pero por que cierras?

 

Si lo englobas todo en javascript no es necesario cerrarlo y abrirlo, no son funciones si no que todo queda englobado en lo mismo.

 

Prueba:

 

<script type="text/javascript">

// <![CDATA[

function createDiv() {

var divg = document.createElement("div");

var newImg = document.createElement("img");

var newLink = document.createElement("a");

divg.setAttribute("style", "position:fixed; top:250px; right:0px; z-index:9999;");

newImg.src = "http://premiosweb.lasprovincias.es/sites/premiosweb.lasprovincias.es/themes/omega/i/PW13DERBLANCO.png";

newImg.alt = "Premios Web lasprovincias.es";

newLink.href = "http://premiosweb.lasprovincias.es/ecommerce/excellence-dogs";

divg.appendChild(newLink); newLink.appendChild(newImg);

document.body.appendChild(divg);

}

 

function createDiv2(){

var divg = document.createElement("div");

var newImg = document.createElement("img");

var newLink = document.createElement("a");

divg.setAttribute("style", "position:fixed; top:250px; left:0px; z-index:9999;");

newImg.src = "http://excellencedogs.com/img/enviogratis.png";

newImg.alt = "Envíos gratis a partir de 60€";

newLink.href = "#";

divg.appendChild(newLink); newLink.appendChild(newImg);

document.body.appendChild(divg);

}

window.onload = createDiv;

windows onload = createDiv2;

// ]]>

</script>

 

 

Si te fijas, le has puesto el mismo nombre a la función, no es que la superponga por la posicion como pensaba, sino por que creas la misma funcion 2 veces cambiando a derecha e izquierda. Crea una nueva funcion "Div2" por ejemeplo ;)

 

Vamos, creo yo. Yo me quede en html4 XD

Link to comment
Share on other sites

Si ahora lo vi, o px a la Iz, o a la derecha, ¿pero por que cierras?

 

Si lo englobas todo en javascript no es necesario cerrarlo y abrirlo, no son funciones si no que todo queda englobado en lo mismo.

 

Prueba:

 

<script type="text/javascript">

// <![CDATA[

function createDiv() {

var divg = document.createElement("div");

var newImg = document.createElement("img");

var newLink = document.createElement("a");

divg.setAttribute("style", "position:fixed; top:250px; right:0px; z-index:9999;");

newImg.src = "http://premiosweb.lasprovincias.es/sites/premiosweb.lasprovincias.es/themes/omega/i/PW13DERBLANCO.png";

newImg.alt = "Premios Web lasprovincias.es";

newLink.href = "http://premiosweb.lasprovincias.es/ecommerce/excellence-dogs";

divg.appendChild(newLink); newLink.appendChild(newImg);

document.body.appendChild(divg);

}

 

function createDiv2(){

var divg = document.createElement("div");

var newImg = document.createElement("img");

var newLink = document.createElement("a");

divg.setAttribute("style", "position:fixed; top:250px; left:0px; z-index:9999;");

newImg.src = "http://excellencedogs.com/img/enviogratis.png";

newImg.alt = "Envíos gratis a partir de 60€";

newLink.href = "#";

divg.appendChild(newLink); newLink.appendChild(newImg);

document.body.appendChild(divg);

}

window.onload = createDiv;

windows onload = createDiv2;

// ]]>

</script>

 

 

Si te fijas, le has puesto el mismo nombre a la función, no es que la superponga por la posicion como pensaba, sino por que creas la misma funcion 2 veces cambiando a derecha e izquierda. Crea una nueva funcion "Div2" por ejemeplo ;)

 

Vamos, creo yo. Yo me quede en html4 XD

 

voy a probar, gracias compañero!

 

PD: Ahora no se ve nada :(

Edited by Rubén (see edit history)
Link to comment
Share on other sites

Prueba a ponerlo separado como lo tenias al principio pero con dos funciones, div y div 2 a ver que tal.

 

var divg = document.createElement("div");

 

 

y otro

 

var divg = document.createElement("div2");

 

Solo sale 1, mira http://excellencedogs.com

 

Es como si cortara el otro, como si no permitiera crear más divs

Edited by Rubén (see edit history)
Link to comment
Share on other sites

A ver si la funcion, se llama dos veces igual:

 

function createDiv() {

 

logico que se muestre una vez solo..

 

Es decir, en el primer ejemplo dejalo con

 

function createDiv() {

..
}
window.onload = createDiv;

 

(tal como lo tienes)

 

Y en el segundo ejemplo dejalo asi:

 

function createDivnadie() {

..
}
window.onload = createDivnadie;

Link to comment
Share on other sites

A ver si la funcion, se llama dos veces igual:

 

function createDiv() {

 

logico que se muestre una vez solo..

 

Es decir, en el primer ejemplo dejalo con

 

function createDiv() {

..
}
window.onload = createDiv;

 

(tal como lo tienes)

 

Y en el segundo ejemplo dejalo asi:

 

function createDivnadie() {

..
}
window.onload = createDivnadie;

 

Si pongo eso entonces no sale nadie, (es decir, lo he puesto y ahora el que no sale es el otro, sale el primero que está colocado en el header.tpl)

Link to comment
Share on other sites

Funcionando:

 

   <script type="text/javascript">

   function createDiv() {
   var divg = document.createElement("div");
   var newImg = document.createElement("img");
   var newLink = document.createElement("a");
   divg.setAttribute("style", "position:fixed; top:250px; right:0px; z-index:9999;");
   newImg.src = "http://premiosweb.lasprovincias.es/sites/premiosweb.lasprovincias.es/themes/omega/i/PW13DERBLANCO.png";
   newImg.alt = "Premios Web lasprovincias.es";
   newLink.href = "http://premiosweb.lasprovincias.es/ecommerce/excellence-dogs";
   divg.appendChild(newLink); newLink.appendChild(newImg);
   document.body.appendChild(divg);
}
function createDivnadie() {
   var divg2 = document.createElement("div");
   var newImg2 = document.createElement("img");
   var newLink2 = document.createElement("a");
   divg2.setAttribute("style", "position:fixed; top:250px; left:0px; z-index:9999;");
   newImg2.src = "http://excellencedogs.com/img/enviogratis.png";
   newImg2.alt = "Envíos gratis a partir de 60€";
   newLink2.href = "#";
   divg2.appendChild(newLink2); newLink2.appendChild(newImg2);
   document.body.appendChild(divg2);
}
window.onload = function() {
   createDiv();
   createDivnadie();
}
</script>

Link to comment
Share on other sites

¿nos puedes explicar para futuras ocasiones como lo has hecho? :D

 

Simplemente lo que hice, fue esto:

 

window.onload = function() {
createDiv();
createDivnadie();  /* Lo de createDivnadie es porque la funcion duplicada como bien ves le cambie el nombre. */

}

 

donde llamo a las dos funciones. (Depende llamarlas, como las estaba llamando tu)

Link to comment
Share on other sites

Simplemente lo que hice, fue esto:

 

window.onload = function() {
createDiv();
createDivnadie();  /* Lo de createDivnadie es porque la funcion duplicada como bien ves le cambie el nombre. */

}

 

donde llamo a las dos funciones. (Depende llamarlas, como las estaba llamando tu)

 

Ok, gracias nadie, espero que esto le sirva a alguien :)

Link to comment
Share on other sites

Ok, gracias nadie, espero que esto le sirva a alguien :)

 

Por cierto,

 

Un placer ayudarte y servirte!

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

 

Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso.

Link to comment
Share on other sites

Ok, gracias nadie, espero que esto le sirva a alguien :)

 

Bueno, al final era lo que decia yo no? El tema de las funciones. Bueno Victor, nada como tener conocimientos tecnicos sobre el tema. A ver si me animo y me pongo a estudiar algo de css y php :P .

 

Entonces una pregunta, ¿este codigo va en el header.TPL del teheme o en los parámetros globales? :blink:

Link to comment
Share on other sites

Bueno, al final era lo que decia yo no? El tema de las funciones. Bueno Victor, nada como tener conocimientos tecnicos sobre el tema. A ver si me animo y me pongo a estudiar algo de css y php :P .

 

Entonces una pregunta, ¿este codigo va en el header.TPL del teheme o en los parámetros globales? :blink:

 

El fallo era lo que comentabas, pero tu solución fallaba. :P

 

Este código, Rubén por lo que veo es posible que lo haya metido en el fichero:

 

header.tpl

 

despues de:

 

{$HOOK_HEADER}

  • Like 1
Link to comment
Share on other sites

El fallo era lo que comentabas, pero tu solución fallaba. :P

 

Este código, Rubén por lo que veo es posible que lo haya metido en el fichero:

 

header.tpl

 

despues de:

 

{$HOOK_HEADER}

 

Correctísimo Nadie. Si quieres hago la guía para crear estos divs que creo que ya lo pillo

Link to comment
Share on other sites

Correctísimo Nadie. Si quieres hago la guía para crear estos divs que creo que ya lo pillo

 

A buen entendedor... ;)

 

Por cierto, voy a poner mi web por fin a la luz en uno de mis servidores muy pronto!!!

 

Si tenéis tiempo para echarle un vistazo y ser muy críticos os paso el enlace. :P

Link to comment
Share on other sites

A buen entendedor... ;)

 

Por cierto, voy a poner mi web por fin a la luz en uno de mis servidores muy pronto!!!

 

Si tenéis tiempo para echarle un vistazo y ser muy críticos os paso el enlace. :P

Bueno, ya la presentas en un nuevo tema, cuando la tengas online. :P

Link to comment
Share on other sites

A buen entendedor... ;)

 

Por cierto, voy a poner mi web por fin a la luz en uno de mis servidores muy pronto!!!

 

Si tenéis tiempo para echarle un vistazo y ser muy críticos os paso el enlace. :P

 

Yo soy crítico con quien haga falta, pero estoy seguro de que me va a gustar :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...