Ändern, div text mit jQuery Toggle
Bei der Verwendung slideToggle
, wie Sie den Text ändern, der in der Nähe/zeigen?
Ich habe eine einfache, aber nicht den text ändern zurück.
Hier ist was ich getan habe:
JS:
$(document).ready(function(){
$('.open').click(function(){
$('.showpanel').slideToggle('slow');
$(this).text('close');
});
$('.open2').click(function(){
$('.showpanel2').slideToggle('slow');
$(this).text('close');
});
});
CSS:
body{
font-size:20px;
}
#box{
border:2px solid #000;
width:500px;
min-height:300px;
}
.open,.open2 {
width:450px;
height:50px;
background:blue;
margin:5px auto 0 auto;
color:#fff;
}
.showpanel,.showpanel2{
width:450px;
height:300px;
margin:0 auto 10px auto;
background:red;
display:none;
}
HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">
<div class="open">Show</div>
<div class="showpanel">This is content</div>
<div class="open2">Show</div>
<div class="showpanel2">This is content</div>
</div>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
is()
Behauptung Methode, um zu überprüfen, ob das panel geöffnet oder geschlossen ist in der animation Rückruf und setzen den text entsprechend - http://jsfiddle.net/9EFNK/7/Fügen Sie einfach eine einfache if-Anweisung zu testen, wird der text wie so
Wie diese DEMO
Nicht die schönste Methode, aber es macht den job in einer einzigen Anweisung.
Hier ist eine aktualisierte version http://jsfiddle.net/9EFNK/1/
Können Sie einfach Umschalten zwischen a-Klasse auf schließen/öffnen, führen Sie einen check für die Klasse, und ändern Sie den enthaltenen text entsprechend
Verwenden .toggle()
Hier ist funktionsfähige Demo
überprüfen, dies kann Benutzer-Frage lösen Fiddle
versuchen, diese demo
Verwenden Sie diese
Hier ist, wie Sie es verwenden
JS:
HTML:
Können Sie sogar html verwenden, vorausgesetzt es ist html-codiert richtig