Comunidad de diseño web y desarrollo en internet online

Problema con Div en position:fixed

Citar            
MensajeEscrito el 13 Sep 2014 05:29 am
hola a todos :D es mi primera vez en un foro, espero me puedan ayudar :)

Verán, en mi sitio tengo un menu de cabecera que siempre queda fijo al scroll. Para ello uso una funcion de Jquery que remueve la clase "fixed" del Div cuando el scroll está hasta arriba y la añade cuando comienza a descender quedando el Div en position:fixed.

Aqui el codigo que utilizo:

<script type="text/javascript">
$(document).ready(function() {
var menu = $('.menu');
var contenedor = $('#scroll');
var menu_offset = menu.offset();
$(window).on('scroll', function() {
if($(window).scrollTop() > menu_offset.top) {
menu.addClass('fijo');
} else {
menu.removeClass('fijo');
}
});
});
</script>

Bueno, este script en sí me funciona bien, pero aqui va el problema:
Por defecto (supongo) la propiedad Fixed mantiene el ancho de la ventana del navegador, o sea el 100%. Por lo que al estar el menu arriba no hay problema alguno, pero al momento de descender por el sroll este queda "fijo" al ancho de la ventana, y cuando la haces más pequeña no se puede mover hacia los lados, por lo tanto el menu queda cortado y ocupando el 100% de la ventana.

Mi pregunta es ¿Existe otra manera de dejar un Div fijo al hace scroll utilizando jQuery, sin tener que utilizar position:fixed? y de no poderse ¿Hay alguna forma de evitar que el Div estando en position:fixed me utilize el ancho de la ventana del navegador?

Eso :) Gracias de antemano

Por Alexis21

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Sep 2014 05:06 pm

Esto no me quedó muy claro:

Alexis21 escribió:

cuando la haces más pequeña no se puede mover hacia los lados, por lo tanto el menu queda cortado y ocupando el 100% de la ventana...



Si está ocupando todo el ancho, ¿cómo es que se 'corta'? Por otro lado, si se trata de un problema visual, la solución está en modificar las propiedades en la hoja de estilos, pues, en el código JS, solo cambias la clase, es decir, habría que ver el contenido de la clase que asignas cuando ocurre el problema para encontrar el desperfecto.

Saludos

Por Alexis88

21 de clabLevel



Genero:Masculino  

Web developer

chrome
Citar            
MensajeEscrito el 17 Sep 2014 07:36 pm
PUedes colocar al ancho del div con css, tanto en porcentaje como en pixeles para ese elemento.

Por striwensko

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Oct 2014 11:17 pm
Hola, si quieres mira este post que publique hoy: mi post donde aunque pregunto algo diferente, la estructura de mi ejercicio es muy similar a lo que comentas, ahí compartí los códigos de html css y jquery, y acá te dejo el link del demo para que lo veas online, a ver si es mas o menos como lo que tu quieres hacer: mi ejercicio ... espero que te pueda servir, saludos...

Por Lord_Edoval

3 de clabLevel



Genero:Masculino  

Padawan de frontend

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.