2014-10-10 4 views
1

У меня есть два простых 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

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

jsFiddle example

+0

Это то, что я искал, за исключением того, что мне нужно, чтобы показать текст скрытый DIV, так что '.cropme: hidden' – Matt

+0

Думаю, я обновил свой ответ, пока вы входили в свой комментарий. Проверьте последний скрипт/обновление в моем ответе. – j08691

+0

Спасибо за помощь! – Matt

Смежные вопросы