2014-10-19 4 views
0

Я пытаюсь настроить этот код, который работает для отображения более или менее всего в панели panel_menu для отображения + или - текста рядом с кнопкой меню, но я не понимаю, как сделать это в jQuery. Примеры, которые я видел, не похожи на то, что у меня есть.Добавление большего или меньшего +/-

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

<script> 
    $(document).ready(function(){ 
    $("#toggle_menu").click(function(){ 
    $("#panel_menu").slideToggle(0); 
    }); 
    }); 
</script> 

<style> 
    h3 { padding: 5px; cursor: pointer; margin: 0px; } 
    h3:hover { color: #ff0000; background: #eee; } 
    #toggle,#toggle_menu { padding: 5px; } 
    #panel_menu { margin: 0px; display:none; padding: 5px; } 
</style> 

<h3 id="toggle_menu">Menu </h3> 
<div id="panel_menu"> 
Lorem ipsum dolor sit amet 
</div> 

Как нажимать на «Меню», выдает или скрывает текст правильно. Как добавить функцию, чтобы она показывала +/- или что-то подобное, как больше/меньше, чтобы понять посетителя?

+0

Там ни в «функции», в частности. Добавьте +/- сначала ... однако вы хотите ... затем выяснить функцию, чтобы изменить его. –

+1

Вы добавляете элемент, содержащий знак плюса, а затем просто переключаете его, например:> ** http: //jsfiddle.net/vmeL71jr/** – adeneo

+0

Это блестяще @adeneo 2. Намного лучше, чем мой ответ. –

ответ

0

Простой способ для достижения этой цели является инициализация «Меню» на «+ меню» следующим образом:

<h3 id="toggle_menu">+ Menu </h3> 

... 

$(document).ready(function() { 
    var tm = $("#toggle_menu"); 
    tm.on('click', 
    function() { 
     $("#panel_menu").slideToggle(0); 
     if(tm.text() == '- Menu') tm.text('+ Menu') 
     else tm.text('- Menu'); 
    } 
); 
}); 

jsfiddle

+0

Это прекрасно. Реальная ситуация намного надежнее, но я проверил это, и это будет работать чудесно. Спасибо. –

+0

Счастливый услышать это. Я понимаю, что вы новичок в SO, но принято принимать самые полезные ответы. –

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