Benutzerdefiniertes jQuery-Plugin und CSS zum Anzeigen und Ausblenden von Inhalten
The requirement: Wir müssen einen reduzierbaren Inhalt anzeigen, wenn wir auf die Schaltfläche "Anzeigen" geklickt haben, und den reduzierbaren Inhalt ausblenden, wenn wir auf die Schaltfläche "Ausblenden" geklickt haben.
The solution: Erstellen Sie ein benutzerdefiniertes jQuery-Plugin.
Demo: Klicken Sie auf die Schaltfläche "Anzeigen".
Note
Hier ist die alternative Lösung -jQuery toggle() Funktion.
1. Zusammenklappbarer Inhalt
Unten finden Sie ein Beispiel für HTML für komprimierbaren Inhalt:
Use jQuery + CSS to hide/show collapse content
Bla bla bla bla
Das "div" -Element in über<div id="collapse2" class="collapse">
ist "hide". Wo der CSS "Zusammenbruch" "display:none
" hat, wie unten:
.collapse { display: none; position: relative; overflow: hidden; }
Hinweis
Das
2. Benutzerdefiniertes jQuery-Plugin
Um den Inhalt anzuzeigen, wenn wir auf die Schaltfläche "Anzeigen" geklickt haben, müssen wir ein Klickereignis für die Schaltfläche "Anzeigen" wie folgt erstellen:
$('.nav-collapse').click(function(){ //logic to show/hide collapsable content });
Zuerst müssen wir den Selektor für komprimierten Inhalt aus dem Attribut href holen:
var collapse_content_selector = $(this).attr('href');
Anschließend überprüfen wir mit jQuery, ob das reduzierbare Inhaltselement den CSS-Klassennamen "show" hat:
var collapse_content = $(collapse_content_selector); if(collapse_content.hasClass('show')){ //logic to hide the collapsable content }else{ //logic to show the collapsable content }
Um den komprimierbaren Inhalt auszublenden, müssen Sie den CSS-Klassennamen "show" wie folgt entfernen:
collapse_content.removeClass('show');
Um den komprimierbaren Inhalt anzuzeigen, müssen Sie den CSS-Klassennamen "show" wie folgt hinzufügen:
collapse_content.addClass('show');
Wo CSS "show" verwendet wird, um die CSS-Eigenschaften "display" so zu ändern, dass sie wie folgt "blockieren":
.show{ display: block; }
Note
Damit der reduzierbare Inhalt beim Laden der Seite angezeigt wird, müssen Sie den CSS-Klassennamen "show" wie<div class="collapse show">....</div>
hinzufügen.
Zuletzt benötigen wir eine Rückruffunktion, um die Beschriftung der Schaltflächen auf "Verstecken / Anzeigen" zu ändern. Beispiel:
Rückruffunktion, wenn komprimierbarer Inhalt angezeigt wird:
$('.nav-collapse').html('Hide');//change the button label to be 'Hide'
Rückruffunktion bei ausgeblendetem Inhalt:
$('.nav-collapse').html('Show');//change the button label to be 'Show'
Daher müssen wir Callback-Funktionen wie folgt an das jQuery-Plugin übergeben:
{ onShow: function(){ $(this).html('Hide');//change the button label to be 'Hide' }, onHide: function(){ $(this).html('Show');//change the button label to be 'Show' } }
Unten ist der endgültige Quellcode des Plugins:
(function($) { $.fn.collapse=function(options){ $(this).click(function(){ //get collapse content selector var collapse_content_selector = $(this).attr('href'); //make the collapse content to be shown var collapse_content = $(collapse_content_selector); if(collapse_content.hasClass('show')){ collapse_content.removeClass('show'); $(this).html('Show'); if(options && options.onHide){ options.onHide(); } }else{ collapse_content.addClass('show'); if(options && options.onShow){ options.onShow(); } } }); } }(jQuery));
und jQuery um das Plugin zu benutzen:
$('.nav-collapse').collapse({ onShow: function(){ $(this).html('Hide');//change the button label to be 'Hide' }, onHide: function(){ $(this).html('Show');//change the button label to be 'Show' } });
3. Vollständiges Beispiel
Use jQuery + CSS to display and hide content Use jQuery + CSS to hide/show collapse content
Bla bla bla bla
Quellcode herunterladen
Laden Sie es herunter -jQuery-css-to-display-hide-content.zip (1kb)