Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - javier_r2

#1
Lo que quería decir es que si fuera un error de estilos, al mover la ventana no aparecería como por arte de magía. De todas maneras he conseguido hoy solventarlo forzando al body a esconder y luego volver a mostrar la propiedad overflow. Al final el código ajax ha quedado de la siguiente manera.

function carga_preview_temp(){
$("document").ready(function(){
var select_filter_fecha = $("#select_filter_fecha").val();
var filter_excl = $('#tags_exlc').tagsinput('items');
var filter_cont = $('#tags_cont').tagsinput('items');

$.ajax({
url: ("carga_prev_tmp.php"),
data: {select_filter_fecha: select_filter_fecha,filter_excl: filter_excl,filter_cont: filter_cont},
type: 'post',

beforeSend : function(){
$('#btn_carga_preview_temp').hide();
$("#div_prev_lista_temp").hide();
$('#loader-carga-pre-temp').show();
document.body.style.overflow = "hidden";
},

success: function(data){
if(data != "NO HAY MEDIOS"){
$("#div_prev_lista_temp").html(data);
$("#div_prev_lista_temp").show();
$('#loader-carga-pre-temp').hide();
$('#btn_carga_preview_temp').show();
document.body.style.overflow = "auto";
}else{
$('#loader-carga-pre-temp').hide();
$('#btn_carga_preview_temp').show();
$('#wizard').stepy('step', 2);
new PNotify({
title: 'NO HAY MEDIOS',
text: 'No hay medios cargados en el almacén. Seleccione primero un medio para poder cargar la vista previa.',
styling: 'fontawesome'
});
}

},

error : function(jqXHR, status, error){
       alert('Disculpe, existió un problema. Vuelva a intentarlo más tarde. Si el problema persiste, póngase en contacto con el servicio técnico.');
       location.href = "new_list.php";
   }
});

});
}


En beforeSend le digo que me oculte el overflow y cuando entra en success le digo que sea automático. De momento me funciona correctamente todo en todos los navegadores. No se si será lo correcto, pero si a alguien le ocurre pues aquí puede tener esa solución.

Un saludo y gracias a todos los que habéis participado!
#2
Entiendo lo que comentas. Pero si fuera problema del estilo entonces no aparecería la barra al mover la ventana. Fíjate el las capturas como enseño que cuando recargo el div y luego muevo el navegador con el ratón desde la barra de arriba sale la barra de desplazamiento. Y es más cuando sale y vuelvo a recargar el div y esta vez el alto es menor, el scroll sigue manteniéndome el tamaño anterior y por lo tanto baja más de lo que tiene que bajar. Y claro si vuelvo a mover la ventana del navegador con la barra superior se adapta correctamente al tamaño de nuevo.
#3
Pero MinusFour, si fueran los estilos y el html, no crees que también me ocurriría en otros navegadores?. He provado a cambiar el overflow de diferentes capas pero lo único que consigo es que aparezca un scroll dentro de la página y yo lo que quiero es que aparezca el del propio navegador.
#4
No consigo encontrarle solución...  :-( ¿Alguien tiene idea de porqué pasa?
#5
Nadie sabe como puedo solucionarlo?
#6
Mi código es el siguiente.

Dentro de INDEX.PHP tengo un div con ID="contenedor-escritorio" que es donde cargo todas las páginas de mi aplicación:

<div class="static-content">
<div id="contenedor-escritorio" class="page-content">

</div> <!-- #page-content -->
</div>


Desde el menú hago la llamada a ajax para mostrar por ejemplo el perfil:

<ul class="dropdown-menu userinfo">
<li><a href="#" onclick="javascript:cargarContenido('includes_pages/profile/profile.php','contenedor-escritorio');"><span class="pull-left">Perfil de Usuario</span> <i class="pull-right fa fa-user"></i></a></li>
</ul>


Y mi código ajax recibe las variables y las procesa:

function nuevoAjax(){

     try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
          try {
               xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) {
               xmlhttp = false;
          }
     }

     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
          xmlhttp = new XMLHttpRequest();
     }

     return xmlhttp;
}

function cargarContenido(pagina,destino){

    var contenedor;
    var ajax;           

    contenedor = document.getElementById(destino);

    ajax = nuevoAjax();
    ajax.open("GET", pagina, true);
    ajax.onreadystatechange=function() {
         if (ajax.readyState==4) {
              contenedor.innerHTML = ajax.responseText;
         }
     }

     ajax.send(null);
     return false;     
}


Y me recarga correctamente el div, con el problema que he comentado arriba. Solo me pasa con Chrome, ya que con IE y Firefox funciona perfecto.

He probado varias formas de recargar el div, como por ejemplo mediante post y tampoco. Me carga también perfecto pero sigue sin entender la medida correctamente Chrome y no me muestra el scroll.

function carga_perfil(){
     $.post("includes_pages/profile/profile.php", function(data){
          $("#contenedor-escritorio").html(data);
     });
}
#7
Buenos días,

estoy haciendo una aplicación web en la que utilizo ajax para recargar mis páginas. Mi problema es que al recargar un div, si el contenido tiene una altura superior a el contenido anterior, al recargarlo el navegador chrome no me muestra el scroll y por lo tanto el contenido no se ve completo ya que obviamente no puedo bajar con el scroll.

Como peculiaridad, si pincho en la parte superior del navegador y muevo la ventana, de pronto la barra aparecer, pero si en ese momento vuelvo a recargar para mostrar en el div otro contenido, el scroll mantiene el alto del contenido anterior y si bajo con el scroll llega un momento que sobrepasa el contenido del div y se ve página en blanco (de igual forma si vuelvo a mover la ventana del navegador se vuelve a adaptar).

Parece como si el navegador no entendiera correctamente los cambios de altura de la página al recargar los div.

Voy a adjuntar algunas capturas:





Esto solo me pasa en el navegador Chrome, ya que en IE o Firefox lo hace correctamente.

Espero podáis ayudarme. Gracias por adelantado

Mod: Imágenes corregidas