Ciao jimbo,
Per animare puoi usare, sorpresa sorpresa, animate()
Per quanto riguarda i dispositivi mobili, puoi usare una media querycodice:$(window).scroll(function(){ if($(window).scrollTop() > elementPosition.top){ $('#Mod97').css('position','fixed').animate({top:50}); } else { $('#Mod97').css('position','static'); } });
Nota "!important", impedirà a javascript di alterare quella regola (se la finestra è più piccola di 767px) e la ripristinerà se da una "finestra" maggiore di 767px effettui un "rimpicciolimento".codice:@media (max-width: 767px) { #Mod97{ position:static !important; } }
Potresti anche usare una funzione javascript che verifica l'user-agent (il device) utilizzato:
Questo secondo metodo considera solo il tipo di dispositivo e non tiene conto della reale risoluzione, un tablet android con 1024px disponibili verrà comunque considerato un dispositivo mobile. Nel tuo caso specifico credo sia consigliabile la media query.codice:function is_Mobile(){ if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { return true; } return false; } $(window).scroll(function(){ if($(window).scrollTop() > elementPosition.top && !is_Mobile()){ $('#Mod97').css('position','fixed').animate({top:50}); } else { $('#Mod97').css('position','static'); } });

Rispondi quotando