Ich habe ein Formular mit "#states" (im Beziehungsmodul) und es funktioniert, aber es springt irgendwie herum. Ein schöner SlideDown wäre so viel besser.
Wie kann ich das tun, anstatt es nur sichtbar zu machen?
javascript
kiamlaluno
quelle
quelle
Antworten:
Aufbauend auf Mikes Post hat der obige Code das Element nur mit der Seite nach unten und nicht wieder gesichert. Damit es auf und ab gleitet, habe ich e.stopPropagation () hinzugefügt. Der vollständige Code lautet also:
quelle
Ich nehme an, Sie verwenden den sichtbaren Zustand?
Der Code, der dafür verantwortlich ist, befindet sich in state.js:
Wie Sie sehen können, werden show / hide ohne konfigurierbare Parameter aufgerufen, was bedeutet, dass es nicht einfach geändert werden kann.
Der Kommentar über diesem Block ist jedoch interessant:
Wenn ich das richtig verstehe, können Sie den Ereignishandler für Ihr spezifisches Seitenelement, z. B. das Formular oder sogar einzelne Formularelemente, überschreiben, indem Sie Folgendes hinzufügen:
Ich denke, Sie müssen FALSE zurückgeben, um zu verhindern, dass das Ereignis im DOM-Baum weiter sprudelt.
quelle
$
durchjQuery
und wickeln Sie es eindrupal_add_js("[Berdir's code here]", array('type' => 'inline', 'scope' => 'footer'));
.on()
statt zu arbeiten.bind()
.Aufbauend auf Berdirs Beitrag konnte ich ihn optimieren und in einem benutzerdefinierten Modul zum Laufen bringen.
Also habe ich in meiner .module-Datei diese Zeile unter der Funktion hook_init () hinzugefügt
Dann in der Datei custom.js
})
In diesem Fall gilt dies natürlich nur für das Benutzerprofil.
quelle