2010-12-07 7 views
18

Mit jQueryMobile, ich habe data-role="footer" data-position="fixed" im Markup enthalten, aber zwei Fehler bestehen:Wie fixiere ich die feste Fußzeile von jQuery Mobile?

  • Footer schaltet auf ein Null-Klick-Ereignis.
  • Fußzeile ist nicht festgelegt und verbirgt einen Teil des Seiteninhalts.

Ich teste mit iPhone 3g. Irgendwelche Ideen?

Vielen Dank im Voraus.

UPDATE: Es scheint, dass das Click-Ereignis der aktuellen Seite Fußzeile ändert und ändert ui-fixed-overlay-ui-fixed-inline, was natürlich display:none gestylt den anderen Seiten Fußzeilen erscheinen zu verhindern.

Wie kann ich diese Änderung verhindern?

+0

Einige Fortschritte gemacht: Das Symptom gefunden. Irgendwelche Ideen bezüglich einer Heilung? –

+0

Hallo, hast du jemals eine Lösung für das Fußzeilen-Problem gefunden? Ich versuche, das gleiche Problem in der jQuery Mobile rc1-Version zu beheben. –

Antwort

25

Bei der Verwendung von 1.1 oder höher, fügen data-tap-toggle="false" auf Ihre Kopf- und Fußzeilen, wie documented here.

Wenn Sie eine Version von jQuery Mobile vor 1.1, legen Sie die folgenden vor dem Laden jQuery Mobile mit:

$(document).bind("mobileinit", function(){ 
    $.mobile.touchOverflowEnabled = true; 
}); // remove 
+0

Danke. Dies wurde im Mai 2011 veröffentlicht; Vermutlich haben sich die Dinge geändert. –

+1

Könnten Sie auf die Dokumentation verweisen, die das beschreibt? Es scheint nicht zu funktionieren (der Balken wird immer noch ausgeblendet und erscheint wieder). Außerdem könnte es interessantere Informationen für andere geben, die auf diesen SO-Post stoßen. –

+0

Hallo dpk - hier ist es: http://jquerymobile.com/test/docs/toolbars/bars-fixed.html – Roi

0

Ich hatte ähnliches Problem mit der Fußzeile nicht auf Scroll auch nicht behoben werden. Mein Vorschlag? Sencha und nicht jQueryMobile, mit Bugs geladen und nicht bereit für die Produktion.

Die Fußzeile markiert auch die ausgewählte Seite von URL/# Seite Sache URL beeinflusst das Fußzeilenmenü in meinem Fall.

+0

Sencha sieht wirklich gut aus, danke. Ich kann mich nicht erinnern, was es war, aber ich habe gehört, dass es * einige * Probleme damit gibt. –

+0

Wie auch immer, der Wiederaufbau mit Sencha wird einige Zeit dauern. Wenn es zwischenzeitlich sogar einen Hack gibt, um dieses Problem zu lösen, wird es besser. Vielen Dank! –

+1

Haben Sie sich das angesehen? https://github.com/jquery/jquery-mobile/issuesearch?state=open&q=footer#issue/58 ist eine mögliche Korrektur für die Fußzeile, die nicht repariert wird. es ist ein bekannter Fehler. –

2

Mit jquery.mobile-1.0a4 die Datenposition Hinzufügen = „fixiert“ auf den Fußbereich in Iphone, Android und Chrom als gewünschte Arbeits

+2

Arbeiten wie gewünscht? ... Header und Fußzeile verschwinden auf Scroll (manchmal) dann aufholen und einblenden. Es scheint keine andere Möglichkeit zu haben als ein Hacker, um eine iScroll-ähnliche, wirklich, wirklich feste Fußzeile zu erstellen. Dies ist auch keine geplante Funktion für die Beta. Betrachten Sie Wink oder iScroll für eine wirklich feste Kopf- oder Fußzeile. – genkilabs

+1

Nun, es funktioniert wie geplant. Es ist einfach keine sehr beliebte Designentscheidung. Siehe einige Lösungen hier http://stackoverflow.com/questions/5763619/jquery-mobile-fixed-toolbar-and-footer-bar-disappears – Eli

+0

Ich möchte hinzufügen, dass die gleiche Daten-ID = "foo" auf meinem footer div included fixed mein Problem mit der Fußleiste änderte sich zu Inline-Positionierung bei einem Button-Press Event. http://jquerymobile.com/demos/1.0rc2/docs/toolbars/footer-persist-a.html –

2

Die aktuelle "Antwort" ein bisschen fehlgeleitet sein. Die Verwendung von touchOverflow kann Ihnen kurzfristig helfen, aber das wird bald verschwinden. Wenn jemand die jQuery Mobile blog lesen sind, würden sie diesen Klappentext am 10. Januar veröffentlicht bemerken:

Heads up: touchOverflow in 1.1 als veraltet sein - Als wir die ersten das touchOverflow Feature eingeführt, sahen wir es als ein guter Weg zu nutzen die native Überlauf-Unterstützung in iOS, um echte feste Symbolleisten und glattere Übergänge zu bringen, auch wenn es für einen ziemlich engen Satz von Geräten zu der Zeit war. Jetzt mit den signifikanten Änderungen an festen Header und Übergang für 1.1 geplant, werden diese die Erfahrung in einer fast identischen Weise wie TouchOverflow verbessern, außer es Arbeit auf viel mehr Plattformen und mit weniger Komplexität, so haben wir beschlossen, zu diese Funktion beenden. Es wird bei 1.1 veraltet und bei 1.2 entfernt.Wir haben Zukunftspläne für die Adressierung von Überlaufbereichen mit internem Scrollen, so dass ein großer Teil der Arbeit, die wir an touchOverflow gemacht haben, wieder verwendet wird.

Entschuldigung für die Buchung als Antwort, aber ich kann an dieser Stelle nicht kommentieren.

14

Dies ist in jQueryMobile 1.1 rc1 behoben. Siehe here.

Verwenden Sie data-tap-toggle = "false" auf Ihrer Fußzeile.

1

Ich habe sehr einfache Sache.Found Lösung mit CSS nur richtige "min-Höhe" für den Inhalt.The Stop Footer springen auf den Inhalt der Seite.

0

ich benutze jquery mobile 1.3.1, und alles, was Sie zuvor gesagt haben, funktioniert nicht auf meiner app. aber ich habe eine Lösung für diesen Fehler. überprüfen Sie meine anderen post JQueryMobile - fixed footer not fixed after input focus

$('div:jqmData(role="page")').on('pageinit',function(){ 
    $(document) 
     .on('focus','input, select, textarea', function(){ 
      $('[data-role="footer"][data-position="fixed"]').hide(); 
     }) 
     .on('blur','input, select, textarea',function(){ 
      $('[data-role="footer"][data-position="fixed"]').show(); 
     }); 
}); 
+0

Das Veröffentlichen von Links ohne zumindest einige Markups in der Antwort ist verpönt. Fügen Sie Markup hinzu, um Ihre Lösung zu präsentieren, um Ihre Antwort zu verbessern. – HTX9

+1

tut mir leid, dass mein Code –

0

Re: Fußzeile ist nicht festgelegt, und versteckt sich ein Teil der Seiteninhalt.

Ich hatte auch mit diesem Problem zu kämpfen. Es stellte sich heraus, dass ich das Ende-Content-Div-Tag verschieben musste, um vor dem Start der Fußzeile zu sein. Wenn sich die Fußzeile innerhalb des Inhalts-Div-Tags befindet - und Sie >>> datenposition = "fixed" < < < einschalten, dann ist meine Fußzeile nicht behoben.

Ich weiß nicht über Ihr anderes Problem, "Footer schaltet auf ein Nullklick-Ereignis", da ich nicht weiß, wie man das in meiner App neu erstellen.

weiter verwenden ...

  • jQuery Mobile 1.3.2
  • Cordova
  • Die Fußzeile hat eine navbar und eine Banner-Werbung in seinem Inneren.
Verwandte Themen