it-swarm.com.de

Wie behebe ich die feste Fußzeile von jQuery Mobile?

Mit jQueryMobile habe ich data-role="footer" data-position="fixed" in das Markup aufgenommen, aber zwei Bugs bleiben bestehen:

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

Ich teste mit dem iPhone 3G. Irgendwelche Ideen?

Danke im Voraus.

UPDATE: Es scheint, dass das Klickereignis die Fußzeile der aktuellen Seite ändert und ui-fixed-overlay in ui-fixed-inline ändert, der natürlich display:none heißt, um zu verhindern, dass die Fußzeilen der anderen Seiten angezeigt werden.

Wie kann ich diese Änderung verhindern?

18
Tomer Lichtash

Wenn Sie 1.1 oder höher verwenden, fügen Sie data-tap-toggle="false" zu Ihrer Kopf- und Fußzeile hinzu, wie hier dokumentiert .

Wenn Sie eine Version von jQuery Mobile vor 1.1 verwenden, stellen Sie Folgendes ein, bevor Sie jQuery Mobile laden:

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

Dies ist in jQueryMobile 1.1 rc1 behoben. Siehe hier

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

14
Simon Vane

Mit jquery.mobile-1.0a4 wird das Hinzufügen von data-position = "fixed" zum Fußzeilenabschnitt wie gewünscht in Iphone, Android und Chrome ausgeführt

2
neavilag

Die aktuelle "Antwort" kann etwas falsch sein. Die Verwendung von touchOverflow kann Ihnen kurzfristig helfen, aber das wird bald verschwinden. Wenn jemand das jQuery mobile blog lesen sollte, würde er diesen Klappentext am 10. Januar bemerken:

Heads up: TouchOverflow in 1.1 veraltet - Als wir erstmals die TouchOverflow-Funktion Eingeführt haben, sahen wir es als eine gute Möglichkeit, Die native Überlaufunterstützung in iOS zu nutzen, um ein echtes Problem zu lösen. Symbolleisten und glattere Übergänge, auch wenn dies für einen recht engen Satz von Geräten der Fall war. Jetzt, da die signifikanten Änderungen an fixierten Headern und Übergang für 1.1 geplant sind, werden diese die Erfahrung von Auf fast identische Weise verbessern wie bei touchOverflow, es sei denn, Wird viel mehr funktionieren Plattformen und mit weniger Komplexität, so haben wir beschlossen, diese Funktion zu streichen. Es wird um 1.1 aufgegeben und um Entfernt. 1.2. Wir haben zukünftige Pläne, um Überlaufbereiche mit internem Bildlauf zu behandeln, sodass ein Großteil der Arbeit, die wir mit touchOverflow Geleistet haben, wieder verwendet werden wird.

Ich entschuldige mich dafür, dass ich dies als Antwort gepostet habe, aber ich kann an dieser Stelle nichts dazu sagen.

2
MGG

Wir hatten dieses Problem und verwendeten eine Kombination aus iScroll (v3) und einem Nice-Jquery-Mobile-Wrapper für iScroll. Es funktioniert perfekt. Alle Details finden Sie hier:

http://yappo.github.com/projects/jquery.mobile.iscroll/livedemo.html

1
greencustard

Ich habe eine sehr einfache Sache gemacht. Eine Lösung mit CSS hat nur die richtige "min-height" für den Inhalt festgelegt. Die Fußzeile wird nicht mehr auf den Inhalt der Seite springen.

1
Nikhil Patil

Re: Die Fußzeile ist nicht festgelegt und verbirgt einige Seiteninhalte.

Ich habe auch mit diesem Problem zu kämpfen. Es stellte sich heraus, dass ich das div-Tag für den Endinhalt vor dem Start der Fußzeile verschieben musste. Wenn sich die Fußzeile im div-Tag für Inhalte befindet und Sie >>> data-position = "fixed" <<< aktivieren, wird meine Fußzeile nicht festgelegt. 

Ich kenne Ihr anderes Problem nicht: "Fußzeile wechselt bei einem Null-Klick-Ereignis", da ich nicht weiß, wie ich das in meiner App neu erstellen kann.

VERWENDUNG ... 

  • JQuery Mobile 1.3.2
  • Cordova
  • In der Fußzeile befinden sich eine Navigationsleiste und ein Werbebanner. 

ich benutze Jquery Mobile 1.3.1, und alles, was Sie zuvor gesagt haben, funktioniert nicht mit meiner App. aber ich habe eine Lösung für diesen Fehler. überprüfe meinen anderen Beitrag JQueryMobile - feste Fußzeile nach Eingabe nicht fixiert

$('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
Ary Wibowo

Ich hatte ein ähnliches Problem, bei dem die Fußzeile auch nicht beim Scrollen fixiert wurde. Mein Vorschlag? Sencha und nicht jQueryMobile, es ist voller Fehler und nicht für die Produktion bereit.

Die Fußzeile hebt auch die ausgewählte Seite hervor. Die URL/# -Seiten-URL wirkt sich in meinem Fall auf das Fußzeilenmenü aus.

0
Alon Carmel