Foros del Web » Programando para Internet » Jquery »

Scroll div, en div contenedor con alto variable

Estas en el tema de Scroll div, en div contenedor con alto variable en el foro de Jquery en Foros del Web. Hola gente, necesito ayuda de verdad, no soy capaz a resolver este problema y llevo tiempo intentando solucionarlo. Tengo una web que la izquierda está ...
  #1 (permalink)  
Antiguo 24/01/2014, 21:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación Scroll div, en div contenedor con alto variable

Hola gente, necesito ayuda de verdad, no soy capaz a resolver este problema y llevo tiempo intentando solucionarlo.

Tengo una web que la izquierda está el contenido del articulo y a la derecha datos del autor y anuncios.

Quiero poner que un div se mueva solo cuando la parte de arriba del navegador la toque. Y que se pare al llegar al final del div contenedor.

Encontre alguno que otro sistema pero ninguno que encontre hace lo que realmente quiero.

Encontre uno con css solamente pero el div contenedor tiene alto variable dependiendo del contenido del articulo, eche dias con ese y no fui capaz de el. No di echo que me funcionara con un alto variable.

Luego encontre otro en javascript que lo que hace es que se mueva el div y al llegar a otro div (previamente estipulado) lo oculta, (bueno vuelve a su posiccion original). Este sistema lo pude poner sin parar, ya que al poner un div contiguo por ejemplo, lo oculta donde le parece, mas o menos creo que se porque es, es dificil de explicar con palabras, El articulo tiene un div, y el sidebar tiene otro, si pongo un div del footer por ejemplo, en el codigo el footer está contiguo al div fixed, mas o menos, por eso lo oculta donde le parece.


Busco exactamente algo como el scroll que usa taringa en los posts a su derecha.
Algo que me calcule el alto del div contenedor y que solo se desplace en ese espacio. Creo que sería la forma correcta de hacerlo.

Estube mirando y creo que hay que usar algo de parse, pero no tengo ni idea ya en estos temas tan avanzados. No se si jquery.

Haber si me podeis recomendar alguno, al menos decirme donde puedo buscarlo. Llevo buscado mucho y no doy con un codigo que me aga esto. Luego yo ya me buscare la vida para integrarlo o lo que sea, pero necesito ayuda. Gracias.
  #2 (permalink)  
Antiguo 25/01/2014, 09:04
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años
Puntos: 9
Respuesta: Scroll div, en div contenedor con alto variable

Creo que con jquery podés hacerlo.
$('div#miDiv').height(); //Para calcular la altura de un div de id="miDiv".
$('div#miDiv').outerHeight(true); //Para calcular la altura con paddings, bordes, márgenes incluidos.

$('document').scrollTop(); //Para calcular la posición del scroll en la página.

var o=$('div#miDiv').offset(); o.top: te da la posición y absoluta del div.
var p=$('div#miDiv').position(); p.top: te da la posición y relativa del div respecto de su contenedor.

$('div#miDiv').animate({top: parseInt(x, 10)+'px'}, 1000); //Mueve el div a posición top x píxeles en 1000 milisegundos.

Saludos!
__________________
Saludos.

Gustavo
  #3 (permalink)  
Antiguo 25/01/2014, 15:22
 
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Scroll div, en div contenedor con alto variable

Cita:
Iniciado por Gustavo72 Ver Mensaje
Creo que con jquery podés hacerlo.
$('div#miDiv').height(); //Para calcular la altura de un div de id="miDiv".
$('div#miDiv').outerHeight(true); //Para calcular la altura con paddings, bordes, márgenes incluidos.

$('document').scrollTop(); //Para calcular la posición del scroll en la página.

var o=$('div#miDiv').offset(); o.top: te da la posición y absoluta del div.
var p=$('div#miDiv').position(); p.top: te da la posición y relativa del div respecto de su contenedor.

$('div#miDiv').animate({top: parseInt(x, 10)+'px'}, 1000); //Mueve el div a posición top x píxeles en 1000 milisegundos.

Saludos!
Buah oO, Intentaré buscar algo con esos codigos porque si tengo que montar yo el codigo creo que llegaré a la tercera edad. Igual creo que acabaré antes si me saco la carrera de informatica que intentar montarlo con mis conocimientos XD . Gracias, ahora no puedo, pero luego realizare unas busquedas con esa informacion. Seguro que me sirve de mucho para solucionar el problema. Muchas gracias.
  #4 (permalink)  
Antiguo 28/01/2014, 00:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Scroll div, en div contenedor con alto variable

Haber si alguien me podria decir mas pense que podria buscarme la vida, pero no encuentro nada sobre el tema. Ayuda por favor.
  #5 (permalink)  
Antiguo 28/01/2014, 06:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Scroll div, en div contenedor con alto variable

Pude conseguir otro codigo para esto. Haber que me falta porque no logro que me funcione.

Código Javascript:
Ver original
  1. (function(a){a.fn.extend({scrollFixed:function(b){var d=a.extend({topSpacing:0,parent:null},b);var f=a(window),e=a(document);return this.each(function(){var h=a(this),o=d.parent?d.parent:h.parent(),k=a("<div></div>"),j=false,p=h.height(),n=h.offset().top,l=o.height(),m=o.offset().top;k.css("height",p);k.insertAfter(h);h.css("position","absolute");
  2.  
  3. function g(){if(e.scrollTop()+d.topSpacing>n&&l+m-e.scrollTop()-p>0){
  4.     if(!j){j=true;h.css({position:"fixed",top:d.topSpacing})}
  5.     }else{
  6.     if(j){j=false;if(l+m-e.scrollTop()-p>0){h.css({position:"absolute",top:""})
  7.     }else{
  8.     h.css({position:"absolute",top:l+m-p+d.topSpacing})}}}}f.on("scroll",g);setInterval
  9.  
  10. (function(){var q=false;if(h.height()!=p){p=h.height();
  11.             k.css("height",p);q=true}if(k.offset().top!=n){n=k.offset().top;
  12.             q=true}if(o.height()!=l){l=o.height();q=true}
  13.             if(o.offset().top!=n){m=o.offset().top;q=true}
  14.             if(q){g()}},1000)})}})})(jQuery);
  15.             $(".fixme").scrollFixed({topSpacing:-15,parent:$($(".fixme").data("parent"))});

Y luego en el div uso:

Código HTML:
<div class="fixme" data-parent="#bg_post"> 
No logro que me funcione el style ¿que se lo que me falta? ¿o que ago mal?
  #6 (permalink)  
Antiguo 30/01/2014, 13:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Scroll div, en div contenedor con alto variable

¿nadie me puede ayudar con esto?

Etiquetas: alto, javascript, scroll, variable
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:20.