Foros del Web » Programando para Internet » Javascript »

¿Qué está mal aquí?

Estas en el tema de ¿Qué está mal aquí? en el foro de Javascript en Foros del Web. Hola a todos. Tengo un problema y es que: Tengo una pág. con una barra lateral a la izq. y otra a la derecha. Y ...
  #1 (permalink)  
Antiguo 20/01/2013, 12:00
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 12 años, 7 meses
Puntos: 1
Pregunta ¿Qué está mal aquí?

Hola a todos. Tengo un problema y es que:
Tengo una pág. con una barra lateral a la izq. y otra a la derecha. Y quiero que si la barra izq. supera (en height) a la de la derecha, se muestre un borde por la parte derecha en la barra izquierda.

Por lo contrario, si la barra derecha supera a la izq., quiero que se muestre un borde en la parte iqz. de la barra de la derecha.

He hecho este código pero no funciona:


Código:
SidebarHeight = $(".sidebar").outerHeight() 
PostHeight = $(".post").outerHeight()

if (SidebarHeigh > PostHeight) {
	   $(".sidebar").css({ border: "1px" });
} else {
	   $(".post").css({ border: "1px" });
}
sidebar = barra de la izq.
post = barra de la der.


Muchas gracias.
  #2 (permalink)  
Antiguo 20/01/2013, 12:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Qué está mal aquí?

Además del error en el nombre de la variable al comparar (SidebarHeight), con el método css() no puedes usar la forma corta "border", debes especificar border-left, border-right, etc.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 20/01/2013, 12:22
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Qué está mal aquí?

Cita:
Iniciado por David Ver Mensaje
Además del error en el nombre de la variable al comparar (SidebarHeight), con el método css() no puedes usar la forma corta "border", debes especificar border-left, border-right, etc.
Ok, lo he corregido, pero sigue sin funcionar:


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

SidebarHeight = $(".sidebar").outerHeight() 
PostHeight = $(".post").outerHeight()

if (SidebarHeight > PostHeight) {
	   $(".sidebar").css({ border-right: "1px" });
} else {
	   $(".post").css({ border-left: "1px" });
}

</script>
  #4 (permalink)  
Antiguo 20/01/2013, 12:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Qué está mal aquí?

¿Dónde pones ese código?

También, especifica tipo y color del borde (border-right: "1px solid #000")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 20/01/2013, 13:07
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Qué está mal aquí?

Cita:
Iniciado por David Ver Mensaje
¿Dónde pones ese código?

También, especifica tipo y color del borde (border-right: "1px solid #000")
Lo tengo colocado justo encima de lo que son las dos barras. es decir:

Código:
<div class="content">
	
<script type="text/javascript">
SidebarHeight = $(".sidebar").outerHeight() 
PostHeight = $(".post").outerHeight()
if (SidebarHeight > PostHeight) {
	   $(".sidebar").css({ border-right: "1px solid #CCC" });
} else {
	   $(".post").css({ border-left: "1px solid #CCC" });
}
</script>

<?php get_sidebar(); ?>

<?php include('includes/post.php'); ?>

</div>
Como se puede ver: he vuelto a modificar el código. Y sin resultado. Sin embargo, cuando incluyo el borde desde el CSS, se muestra correctamente, pero con el código no.

No entiendo por qué. Por favor, alguien sabe la respuesta?
  #6 (permalink)  
Antiguo 20/01/2013, 13:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Qué está mal aquí?

Colócalo después de que los elementos estén creados o cuando el DOM esté listo ($(document).ready())
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 20/01/2013, 13:25
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Qué está mal aquí?

Cita:
Iniciado por David Ver Mensaje
Colócalo después de que los elementos estén creados o cuando el DOM esté listo ($(document).ready())
:S Nada. He probado poniéndolo después de que estén creados (después de <?php get_sidebar(); ?> y <?php include('includes/post.php'); ?>). E incluso poniéndolo al final del todo, pero nada. sigue sin funcionar.

En cuanto a lo del DOM no lo termino de comprender. Aclaro que en cuanto a javascript soy novato. ¿Cual podría ser la solución?
  #8 (permalink)  
Antiguo 20/01/2013, 13:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Qué está mal aquí?

Revisa esto:
http://api.jquery.com/ready/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 20/01/2013, 13:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Qué está mal aquí?

Cita:
Iniciado por David Ver Mensaje
Revisa esto:
[url]http://api.jquery.com/ready/[/url]
Desgraciadamente para mi sigue sin funcionar. el código que he usado ha sido:

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

SidebarHeight = $(".sidebar").outerHeight() 
PostHeight = $(".post").outerHeight()

$(document).ready(function() {
if (SidebarHeight > PostHeight) {
	   $(".sidebar").css({ border-right: "1px solid #CCC" });
} else {
	   $(".post").css({ border-left: "1px solid #CCC" });
}
});

</script>
  #10 (permalink)  
Antiguo 21/01/2013, 06:41
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Qué está mal aquí?

alguien sabe la respuesta?

Gracias

Etiquetas: height, jquery
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 19:41.