2013-08-26 64 views
0

當菜單展開和收縮時,我試圖撥動-+。我可以選擇添加和刪除圖片作爲背景,但我決定使用-+作爲html。 我採取的方法是.remove()<span class="plus">.append()<span class="minus">但我卡在那裏。 This is my fiddle。謝謝。當菜單展開時加減( - ),並且縮小時加(+)

+1

確保你使用的是固定寬度的字體,用於加號和m inus字符,這樣該行的其餘部分會一致排列。 –

+0

我試過width:10px;高度:10px的;字體大小:100%;我沒有看到任何改善。任何建議?謝謝。 – Labanino

+1

固定寬度的意思是像Courier New這樣的等寬字體,所以'+'字符的寬度與'-'字符相同。在許多可變寬度的字體中,寬度是不同的,所以它們會被幾個像素關閉。 –

回答

3

試試這個

$("#vertical-menu h3").click(function() { 
    //slide up all the link lists 
    $("#vertical-menu ul ul").slideUp(); 
    $('.plus',this).html('+'); 
    //slide down the link list below the h3 clicked - only if its closed 
    if (!$(this).next().is(":visible")) { 
     $(this).next().slideDown(); 
     $('.plus').html('+'); 
     $('.plus',this).html('-'); 
    } 
}) 

Js Fiddle Demo

+0

嗨Sachin!我在菜單中增加了另一個層次,但現在發生的情況是,當我打開一個子菜單時,父母更改 - to +,父母應該保留 - 而孩子們正確地展開了?看看2013年的菜單,看看我的意思:http://jsfiddle.net/labanino/22ZyM/5/。謝謝你的幫助。 – Labanino

+1

@Labanino我想你想要這樣的東西http://jsfiddle.net/22ZyM/6/ – Sachin

+0

非常感謝你Sachin! – Labanino

1

工作示例(不要關閉所有的幻燈片,爲了這個,我建議你jQuery UI的手風琴功能)

$("#vertical-menu h3").click(function() { 
    //Inner 
    var jqInner = $(this).next(); 
    if (jqInner.is(":visible")) 
    { 
     jqInner.slideUp() 
     $(this).find('span').html('-'); 
    } 
    else 
    { 
     jqInner.slideDown() 
     $(this).find('span').html('+'); 
    } 
}) 

http://jsfiddle.net/22ZyM/4/

相關問題