Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Javascript che non funziona da mobile

    ciao a tutti,
    sto provando una sorta di slideshow Javascript su un sito responsive. Se visualizzo il sito da computer funziona tutto correttamente, ma se faccio un test da mobile non va.

    La funzione agisce sul css (css3): ci sono dei div nascosti fuori dell'area visibile della pagina, cliccando su dei link modifico il valore "left" del css e la slide entra nella pagina.
    Da mobile:
    iPad 3: sembra funzionare tutto correttamente
    iPad 1 e Android: cliccando sul link sembra non accadere niente..

    qualcuno sa darmi una mano?

    demo: http://letsgomobile.it/pippo2.html
    codice sorgente (scusate la lunghezza):

    codice:
    <html>
    <head>
    <script type="text/javascript">
    
    var frag = 0;
         function Cont2prev() {   
    		var scrolling = document.getElementById("cont2");
    		var curPos = scrolling.style.left;
    		curPos = parseInt(curPos) +100;
    		scrolling.style.left = curPos+'%';
    		frag -= 1;
    		document.getElementById("prev").style.visibility = 'visible';
    		document.getElementById("prev").style.opacity = '1';
    		document.getElementById("next").style.visibility = 'visible';
    		document.getElementById("next").style.opacity = '1';
    		if(frag =='1'){
    			document.getElementById("prev").style.visibility = 'hidden';
    			document.getElementById("prev").style.opacity = '0';
    		}
         }
    
         function Cont2next() {     
    		var scrolling = document.getElementById("cont2");
    		var curPos = scrolling.style.left;
    		curPos = parseInt(curPos) -100;
    		scrolling.style.left = curPos+'%';
    		frag += 1;
    		document.getElementById("prev").style.visibility = 'visible';
    		document.getElementById("prev").style.opacity = '1';
    		document.getElementById("next").style.visibility = 'visible';
    		document.getElementById("next").style.opacity = '1';
    		if(frag =='2'){
    			 document.getElementById("next").style.visibility = 'hidden';
    			 document.getElementById("next").style.opacity = '0';
    			}
         }
    
    
         function entraRaffaello() { 
    		 frag = 1;  
    		 document.getElementById("cont2").style.left = '0';
    		 document.getElementById("chiudi").style.visibility = 'visible';
    		 document.getElementById("chiudi").style.opacity = '1';
    		 document.getElementById("next").style.visibility = 'visible';
    		 document.getElementById("next").style.opacity = '1';
         }
    
         function entraMargherita() {
    		 frag = 2;
    		document.getElementById("cont2").style.left = '-100%';
    		document.getElementById("chiudi").style.visibility = 'visible';
    	 	document.getElementById("chiudi").style.opacity = '1';
    	 	document.getElementById("prev").style.visibility = 'visible';
    		document.getElementById("prev").style.opacity = '1';
    		document.getElementById("next").style.visibility = 'visible';
    		document.getElementById("next").style.opacity = '1';
         }
    	 
    
    
         function esceCont2() {     
    	document.getElementById("cont2").style.left = '100%';
    	 document.getElementById("chiudi").style.visibility = 'hidden';
    	 document.getElementById("chiudi").style.opacity = '0';
    	 document.getElementById("prev").style.visibility = 'hidden';
    	 document.getElementById("prev").style.opacity = '0';
    	 document.getElementById("next").style.visibility = 'hidden';
    	 document.getElementById("next").style.opacity = '0';
         }
    </script>
    
    
    <style type="text/css">
    
    #chiudi{
    	top:50px;
    	right:50px;
    }
    
    #prev{
    	top:50%; 
    	left:50px;
    }
    
    #next{
    	top:50%;
    	right:50px;
    }

  2. #2
    ti consiglio di verificare se il dispositivo accetta il transition con

    window.onload = function () {
    var b = document.body.style;
    if(b.MozTransition=='' || b.WebkitTransition=='' || b.OTransition=='' || b.transition=='') {
    alert('supported');
    } else {
    alert('NOT supported')
    }

    ho paura sia quello... fai questa prova!!
    se è cosi bisogna trovare un altenativa ;-)
    ciao

  3. #3
    Grazie Luigi, ho provato.. ma l'alert mi dice "supported" anche dove cliccando non succede niente!

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Avrei pensato fosse un problema di versione di js. Comunque con iOS 6.0 con iPad 2 non funziona.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Originariamente inviato da pinkarman
    Grazie Luigi, ho provato.. ma l'alert mi dice "supported" anche dove cliccando non succede niente!
    hai gia provato a farlo con jQuery mobile?
    secondo me fai meno sbattimenti e sicuramente funziona!

    prova nei vari dispositivi
    questi esempi:

    http://view.jquerymobile.com/1.3.2/d...s/transitions/

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.