2012-05-05 12 views
8

Quindi questo problema che sto attraversando è con questa app web in Safari mobile che non ho ancora potuto correggere.interessante contenuto nascosto di Safari per cellulare

Ho un div menu "display: none" che appare al clic. Quando viene visualizzato il menu, il contenuto all'interno di div viene visualizzato come dovrebbe. Il problema si trova all'interno del contenuto fuori schermo. Quando si scorre il contenuto div, il contenuto fuori schermo che si trova ora nella vista non viene visualizzato fino a quando lo scorrimento non si è completamente interrotto. Non è un problema di caricamento perché tutto il contenuto è già stato caricato e questo continua ad accadere anche quando si scorre indietro fino all'inizio.

Questo non accade con il contenuto che è effettivamente sulla pagina, solo il contenuto che viene caricato all'interno del menu nascosto div. Non sto usando alcuna codifica speciale o altro, solo css standard e la funzione jquery .click. Ho provato ogni metodo che posso pensare per risolvere questo problema. Usando lo scroll effettivo della pagina invece di uno scroll all'interno del div è stato risolto il problema di visualizzazione del contenuto, ma per qualche motivo non scorrerebbe con lo slancio e il div nascosto avrebbe richiesto più tempo di quello che dovrebbe apparire, forse come 2 secondi che, naturalmente, non saranno mai stare bene.

Qualche idea su come risolvere questo problema?

Modifica - codice qui sotto:

Il CSS

#menu { 
width:720px; 
height:100%; 
overflow:auto; 
-webkit-overflow-scrolling:touch; 
background-color:#000000; 
display:none; 
position:absolute; 
z-index:9997; 
} 
#main-menu { 
width:100%; 
display:none; 
background-color:#000000; 
} 

Il codice HTML

<div id="menu"> 
<div id="main-menu"> 

<a href="#templates/my-account.php" class="close"> 
<div id="menu-item"> 
    <img src="images/menu-account.png" /> 
    <div id="menu-shadow"></div> 
    <div id="menu-item-title"><div class="menu-item-title">Account Settings</div></div> 
</div> 
</a> 

<a href="#templates/my-account.php" class="close"> 
<div id="menu-item"> 
    <img src="images/menu-account.png" /> 
    <div id="menu-shadow"></div> 
    <div id="menu-item-title"><div class="menu-item-title">Account Settings</div></div> 
</div> 
</a> 

<a href="#templates/my-account.php" class="close"> 
<div id="menu-item"> 
    <img src="images/menu-account.png" /> 
    <div id="menu-shadow"></div> 
    <div id="menu-item-title"><div class="menu-item-title">Account Settings</div></div> 
</div> 
</a> 

<a href="#templates/my-account.php" class="close"> 
<div id="menu-item"> 
    <img src="images/menu-account.png" /> 
    <div id="menu-shadow"></div> 
    <div id="menu-item-title"><div class="menu-item-title">Account Settings</div></div> 
</div> 
</a> 

</div> 
</div> 

<div id="wrapper"> 
    <div class="content-loading"></div> 
    <div class="contentarea"> 
     <div class="content pageURL"></div> 
    </div> 
</div> 

<div id="btn-menu" class="bar-button"><img src="images/bar-btn-menu.png" /></div> 

Il JQuery

<script type="text/javascript"> 
$('#btn-menu').click(function(){ 
    $("#menu").show(); 
    $("#main-menu").show(); 
    $("#bottom-bar-close").show(); 
}); 
</script> 
+0

Fornire codice e un collegamento a un esempio del problema. È difficile provare a visualizzare il codice e il risultato senza entrambi. –

+0

Le pagine con frame su iOS non scorrono con lo scrolling di tipo elastico come fanno gli altri elementi. È necessario fornire alcuni snippet di codice per noi per aiutarti. –

+0

Pubblicherà presto il codice. La pagina non è incorniciata, è solo un div nascosto e sto usando ajax per l'app quindi è tutto in una pagina. – CoreyRS

risposta

6

capito, ed è un tale errore scolaro , ma causa un reale l problema fastidioso. Il div del menu principale NON era impostato su "posizione: relativo;" che per qualche ragione ha causato il rendering di tutto il contenuto dello schermo solo quando era all'interno del viewport e lo scorrimento era completamente fermo. Ciò non accade nei browser desktop, motivo per cui è stato così lungo trovare il problema, e non mi sarei mai imbattuto nella soluzione se per qualche motivo non avessi impostato una posizione relativa su un div su un'altra pagina.

In ogni caso, problema risolto.

+0

Grazie mille per aver postato il follow up qui. Questo ha risolto rapidamente il mio problema simile. –

+0

Sei il benvenuto. – CoreyRS

+0

questo è ancora un grande aiuto! Grazie – user801745

Problemi correlati