2014-10-10 65 views
1

我有两个简单的div用按钮切换其可见性。我希望按钮的标题显示隐藏div的标题。所以当你看到“风景”div时,按钮会显示“切换到肖像”。当显示“肖像”div时,按钮应该说“切换到风景”。更改基于隐藏div的按钮文本

<div class="container"> 
<div class="row"> 
    <div class="span12"> 
    <div class="panel panel-heading"> 
    <div class="span4"></div> 
    <div class="span4"> 
     <button type="button" class="btn btn-default switch">16:9/9:16</button> 
    </div> 
    <div class="span4"></div> 
    </div> 
    </div> 
</div> 
<div class="row"> 
<div class="panel panel-body"> 
    <div class="span4 cropme" id="landscape" style="width: 1136px; height: 720px;"></div> 
    <div class="span4 cropme" id="portrait" style="width: 720px; height: 1136px;"></div> 
</div> 
</div> 

$('#portrait').hide(); 
$('.switch').click(function(){ 
    $('#portrait').toggle(); 
    $('#landscape').toggle(); 
}); 

http://jsfiddle.net/z2ursLfw/

回答

1

DEMO

HTML

<button type="button" class="btn btn-default switch">Switch to Portrait</button> 

JS

$('#portrait').hide(); 
$('.switch').click(function(){ 
    $(this).text("Switch to "+($('#portrait').is(":visible") ? "Portrait" : "Landscape")); 
    $('#portrait').toggle(); 
    $('#landscape').toggle(); 
}); 
+0

我更喜欢这个版本。不需要在div内使用标题文本。 – Matt 2014-10-10 20:57:29

1
$('#portrait').hide(); 
$('.switch').click(function() { 
    $('#portrait, #landscape').toggle(); 
    $('button').text('Switch to ' + $('.cropme:hidden').text()) 
}); 

jsFiddle example

+0

这就是我一直在寻找,但我需要显示隐藏的div的文字,所以'.cropme:hidden' – Matt 2014-10-10 20:33:20

+0

我认为在您输入评论时,我更新了答案。检查我的答案中最新的小提琴/更新。 – j08691 2014-10-10 20:34:10

+0

感谢您的帮助! – Matt 2014-10-10 20:57:44