2011-01-18 18 views
29

Sto creando un sito Web utilizzando jQuery Mobile.come mantenere fisso l'header e il footer del jquery mobile?

Come mantenere fisso l'intestazione e il piè di pagina mobile jQuery? Voglio solo che il contenuto scorra (proprio come succede nelle applicazioni iPhone) e che le intestazioni ei piè di pagina siano fissi in alto e in basso.

Qualche suggerimento?

risposta

28

Aggiungere questo attributo al div intestazione/piè di pagina:

 <div data-role="header" data-position="fixed"> 
      <h1>Header Page 1</h1> 
     </div> 

Inoltre, si potrebbe avere uno sguardo a questo: http://jquerymobile.com/test/docs/toolbars/footer-persist-a.html

+2

questo non funzionerà in iPhone e iPad, ma lavorerà in roba Android. –

+1

amico, questo è un post dei primi mesi del 2010 (e molto prima della versione 1.0 finale) .. in iOS 5 su iDevices è diventata una possibilità per la posizione css fissata (pre iOS 5 la posizione è stata calcolata da jqmobile, sbiadita e nuovamente quando si scorre) –

+1

Devo dire che i miei risultati con 'data-position =" fixed "' sul BB10 sono stati ... misti. Era meglio dopo aver usato il tag viewport trovato [qui] (http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/How-to-set-up-the-viewport-for-a-BlackBerry -WebWorks-application/ta-p/1943807) - non il fantasioso JS basato sulla mente !, ma non è ancora al 100%. E questo è nel 2013. – demaniak

4

Il il problema che ho riscontrato con jquery mobile è che l'intestazione e il piè di pagina svaniscono. Immagino che questo sia qualcosa che correggeranno in futuro, ma in aggiunta a iscroll suggerito da Dan, c'è anche jquery mobile scrollview e wink toolkit. Ho avuto buoni risultati con jQuery ScrollView mobile, ma senza fortuna con iscroll o occhiolino

1) jQuery Mobile Scrollview

2) Occhiolino Toolkit

+0

Qualcuno ha provato questo su un dispositivo iOS; perché per me lo schermo è bloccato e quando continuo a scorrere, alla fine le barre degli strumenti si dissolvono in/out ... Sto parlando specificamente di Jquery mobile. – CharlesS

+0

Ho usato scrollview mobile jquery su iOS. Ha funzionato bene. Detto questo, alla fine sono passato al sencha touch. Le prestazioni mobili di Jquery erano troppo scarse (ritardo con ogni clic del pulsante) e mancavano i controlli essenziali. Forse è migliorato ora. È sicuramente più divertente da programmare con. – i8abug

+2

Se si vincolano gli eventi "tocca" e "touchstart" invece di "fare clic", il ritardo scompare. – Crashalot

0

Usa iScroll v4. Mantieni fissa intestazione e piè di pagina e scorri solo il contenuto. iScroll ha bisogno di un DIV wrapper e di un elemento figlio. Nell'esempio seguente content_items è il div bambino con gli elementi da scorrere. Ho notato che non è possibile combinare data-role = "content" e il wrapper DIV per iScroll in un elemento HTML !.

0

ti consiglio di provare l'ultima versione jquery-mobile (1.1.0-rc). ha risolto questo bug.

uno sguardo here

0

Per iOS 6, 7 e 8, questo hack sembra risolvere il problema e innescare un redraw per sostituire correttamente l'intestazione fissa (con o senza pannello) su iPod, iPhone e iPad. Nota: testiamo per dispositivo iOS e aggiungiamo solo questo evento in quel caso *.

if (iOS()) { 
    $(document).on('blur', 'input:not(:submit), select, textarea', function() { 
     var paddingBottom = parseFloat($(".ui-mobile-viewport, .ui-page-active").css("padding-bottom")); 
     $(".ui-mobile-viewport, .ui-page-active").css("padding-bottom", (paddingBottom + 1) + "px"); 
     window.setTimeout(function() { 
      $(".ui-mobile-viewport, .ui-page-active").css("padding-bottom", paddingBottom + "px"); 
     }, 0); 
    }); 
} 

* Test per iOS:

var iOS() = function() { 
    var userAgent = window.navigator.userAgent.toLowerCase(); 
    return (/iphone|ipad|ipod/).test(userAgent); 
} 
1

Per abilitare questo tipo caratteristica barra degli strumenti, si applica l'= attributo data-fullscreen "vera" e la posizione di dati = attributo "fisso" sia al elementi di intestazione e piè di pagina div. Il quadro sarà anche disinserire l'imbottitura per il contenitore di contenuti (ui-content)

<div data-role="header" data-position="fixed" data-fullscreen="true"> 
     <h1>Header Page 1</h1> 
    </div> 
Problemi correlati