2012-08-07 1 views
5

sulla mia vista mobile della mia pagina web posso scorrere in direzione verticale e orizzontale, ma questo inizia sempre nell'angolo in alto a sinistra. Ora voglio impostare la finestra sulla mia posizione personalizzata con window.scrollTo o qualcosa di equivalente. window.scroll sembra funzionare solo per browser desktop.window.scrollTo non funziona nei telefoni cellulari

qualche idea su come potrei risolverlo?

+0

Si prega di essere più specifico su ciò che il tuo problema è. 'window.scrollTo (x, y);' funziona perfettamente se il tuo contenuto è abbastanza grande. –

+0

Il mio dom assomiglia a questo

ora posso scorrere all'interno dell'immagine in browser desktop e desktop. ma quando io che punto di partenza diverso, dove guardo l'immagine provo ad usare la finestra. scrollTo (x, y); ma funziona solo sul desktop e non nel browser mobile. – Safari

+0

Fornisci un test case completo di html, css e JavaScript. Senza sapere quanto è grande la tua immagine o come sono le dimensioni del tuo contenuto, non c'è alcuna possibilità di valutare dove si trova il problema. –

risposta

3

Ho finalmente funzionato.

ho dovuto usare in aggiunta la funzione setTimeout

setTimeout(window.scrollTo(x,y),100); 
+2

Dovresti usare Eventi invece di timeout. ad esempio Event.observe (finestra, 'load', function() { window.scrollTo (x, x); }) –

+0

setTimeout ha risolto questo stesso problema anche per me. Comportamento molto strano ... – patrickfox

+0

Non penso che il tuo codice sia corretto, infatti window.scrollTo non verrà chiamato dopo 100ms ma subito. Dovresti usare quanto segue: '' 'JavaScriptsetTimeout (function() {window.scrollTo (x, y);}, 100);' '' –

0

Come ho detto nel mio commento, questo funziona se il tuo contenuto è abbastanza grande. Questo significa più grande del viewport. Senza conoscere le specifiche, hai esaminato l'impostazione del meta tag viewport?

<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

Ora, se il contenuto div o immagine o qualsiasi altra cosa supera la dimensione della larghezza finestra (320 tuffi su iPhone) è possibile scorrere sull'asse x. Lo stesso vale per l'asse y con valori diversi però.

+0

ho già questo meta tag per la vista le immagini che uso sono circa 800x1000 px grandi. quindi sono più grandi del viewport, ma la funzione scrollTo non funziona ancora – Safari

+0

Vedi, è difficile indovinare se non si fornisce il contesto completo;) –

+0

ok. vedere. quando voglio vedere la mia foto ingrandita nella mia pagina web, quindi carico la versione grande del grande e poi voglio la posizione della foto, dove l'utente ha inserito prima. i valori del punto sono corretti. quindi uso: window.scrollTo (point.x, point.y); all'interno della funzione InitZoom. – Safari