2013-05-17 16 views
6

Ho un problema insolito con un sito web che ho creato per un amico.
Caricamento HTML in div - problema insolito

Ho creato l'index.html con i collegamenti nella barra laterale sinistra per rimanere costante. Quando fai clic su un link, un file HTML esterno viene chiamato all'interno del div principale al centro della pagina.

Questo funziona meravigliosamente ma con un piccolo problema (che è in realtà un problema fastidioso)!

Se si fa clic sul primo collegamento, ad esempio 'prodotti', è possibile scorrere da sinistra tutto il percorso verso destra fino all'ultima immagine piacevolmente. Se fai clic su "fashion", viene chiamato un altro file HTML, ma lo chiama nella fase in cui ti sei interrotto da "prodotti", cioè completamente a destra e non all'inizio.

Fondamentalmente ho bisogno di forzare l'HTML per chiamare la pagina all'inizio ogni volta che si fa clic su un collegamento. Qui è il mio link web per voi a vedere che cosa sto parlando ...

http://www.hannahdakin.co.uk/betasite

P.S. Non riesco a trovare nessun altro con un problema simile dopo aver consultato i forum, ma potrebbe esserci un termine per questo problema che non conosco.

sarei eternamente grato se qualcuno potrebbe aiutare !!

+0

http://demos.flesler.com/jquery/scrollTo/ –

+2

Benvenuti in Stack Overflow. Si prega di provare a mostrare il codice pertinente direttamente nella domanda. (E se avete intenzione di fornire un URL a un sito esterno, almeno renderlo cliccabile ...) – nnnnnn

+1

Benvenuti a StackOverflow! [Si prega di inviare il codice vero e proprio per il problema specifico e non un collegamento a un sito.] (Http://meta.stackexchange.com/q/125997) Io consiglio anche la lettura del [FAQ] (http: //meta.stackexchange .com/questions/7931/faq-for-stack-exchange-sites) per aiutarti a ottenere una risposta il più rapidamente possibile. –

risposta

2

È necessario applicare il comando jQuery .scrollLeft(0) al corpo della pagina per ripristinare la posizione orizzontale su ciascun clic. Per esempio:

$('#products').click(function(){ 
    $('.slider').load("allimages.html #products2"); 
    $('body').scrollLeft(0); 
}); 

questo deve essere fatto sul corpo della pagina, dal momento che le barre di scorrimento sono ancorati alla intera pagina e non il contenitore.

Sarà necessario copiare questo per ciascuno dei vostri menu di eventi click.

+0

Grazie, anche questo ha funzionato! – user2393778

3

È possibile utilizzare .scrollLeft(0) per ripristinare la posizione di scorrimento orizzontale in .

+0

Ah mi scuso per non aver inserito il codice attuale, lo farò sicuramente in futuro. Realmente ho realizzato che il problema si trovava all'interno del documento html. Ho avuto tutti i miei id di div in un file html (per facilità) ma quando ho fatto html separati sono tutti caricati all'inizio ... Proverò questo scrollLeft (0) comunque adesso! – user2393778

+0

perfetto, grazie! – user2393778