wie 'Laden' angezeigt wird, bevor Inhalt von jquery Tabs geladen wird

8

Ich verwende jquery UI-Registerkarten und Inhalte, die in die Registerkarte geladen werden, befinden sich auf einer anderen Seite. also lädt es über Ajax. Es gibt eine Verzögerung zwischen dem Laden der Seite, während der der Teil des Bildschirms, auf den der Tab-Inhalt geladen wird, komplett leer ist. Gibt es eine Möglichkeit, eine Nachricht wie 'loading ....' zu zeigen, bis der Inhalt geladen wird?

Mein Code ist:

%Vor%

Ich habe versucht, die Option Spinner dieses Plugins zu verwenden, aber das scheint nicht für mich zu funktionieren ... (vielleicht ist mein CSS versaut)

    
Omnipresent 19.06.2009, 17:10
quelle

6 Antworten

9

Ich würde empfehlen, die jquery ajaxStart-, ajaxStop- und ajaxError-Ereignisse zu hören, die Ihr "loading" -Popup auf ajaxStart zeigen und es auf AjaxStop und ajaxError verstecken. Auf diese Weise wird Ihr Lade-Popup immer dann angezeigt, wenn eine Ajax-Anfrage ohne weitere Programmierung ansteht.

Zum Beispiel:

%Vor%     
Karmic Coder 19.06.2009, 17:16
quelle
10

Sie müssen keine zusätzlichen Dinge tun, fügen Sie einfach span -Tag in Ihre Anker ein. Ich denke, es ist in jQuerys Dokumentation verpasst.

Beispiel:

%Vor%

span Tags sind der wichtige Teil.

    
Khashayar 29.01.2010 10:16
quelle
0

Ich habe gerade kürzlich jquery-plugin geschrieben, das hilfreich sein könnte. Es platziert eine Maske mit einem Drehfeld über einem Element, so dass Sie für Ihre Ajax-Aufrufe die Maske vor Ihren Aufrufen anzeigen und sie beispielsweise in einer Callback-Funktion demaskieren können.

    
serg 20.06.2009 07:29
quelle
0

Die jquery blockui ist dafür perfekt geeignet. Eine sehr schnelle, elegante Lösung.

    
Kris Erickson 20.06.2009 17:43
quelle
0

blockUI ist großartig, aber ich würde wetten Ссылка ist besser für die Situation geeignet.

    
Nathan Bubna 29.07.2009 17:30
quelle
0

Beste Sache, die ich getan habe, war nur das für Ajax getrieben Tabs ... Ich hoffe, Sie werden diese Antwort lieben

$ ("# facilityTabContainer"). tabs ({ panelTemplate: "Wird geladen ..." ,                         ausgewählt: 0,                         scrollbar: wahr,                         Cache: false});

und Sie können sogar die panelTemplate in jquery.ui.tabs so ändern, dass alle Registerkarten in Ihrer Anwendung automatisch den Text oder das Bild laden. und rate mal, was es auch dein erstes Tab-Ladeproblem löst ..

    
Satishchandra Pandey 22.05.2014 12:28
quelle

Tags und Links