olo*_*olo 24 javascript string jquery toggle
使用时slideToggle
,如何更改文本关闭/显示?我做了一个简单的,但无法将文本更改回来.
这是我做的:
$(document).ready(function(){
$('.open').click(function(){
$('.showpanel').slideToggle('slow');
$(this).text('close');
});
$('.open2').click(function(){
$('.showpanel2').slideToggle('slow');
$(this).text('close');
});
});
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)
dan*_*man 41
您可以使用is()
断言方法检查动画的回调中面板是打开还是关闭,并相应地设置文本 - http://jsfiddle.net/9EFNK/7/
$('.open').click(function(){
var link = $(this);
$('.showpanel').slideToggle('slow', function() {
if ($(this).is(':visible')) {
link.text('close');
} else {
link.text('open');
}
});
});
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 14
只需添加一个简单的if语句来测试文本就像这样
$('.open').click(function(){
$('.showpanel').slideToggle('slow');
if($(this).text() == 'close'){
$(this).text('Show');
} else {
$(this).text('close');
}
});
Run Code Online (Sandbox Code Playgroud)
喜欢这个DEMO
不是最漂亮的方法,但它只在一个语句中完成工作.
$(this).text(($(this).text() == 'Close') ? 'Show' : 'Close');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
58485 次 |
最近记录: |