2014-12-07 166 views
0

我嘗試Slicknav菜單打開和關閉時改變Slicknav的標籤。更改標籤開啓/關閉的

In the jsfiddle, here.我用標籤關閉的默認狀態,併爲打開狀態的另一塊文字,我想另一個一段文字。

喜歡本作的正常狀態:

$('#menu').slicknav({ 
    duplicate: false, 
    label: 'label closed' 
}); 

我試着使用基本的,如果這那時,我覺得我只是搞亂了這個非常簡單的一段JavaScript代碼。

任何幫助將不勝感激!

回答

1

其在docs
像這樣的東西應該做的伎倆短期看後。

var $label; 
$('#menu').slicknav({ 
    duplicate: false, 
    label: 'label closed', 
    init: function() { 
     $label = $(".slicknav_menutxt"); 
    }, 
    open: function() { 
     $label.text("label open"); 
    }, 
    close: function() { 
     $label.text("label closed"); 
    } 
}); 

而且鏈接jsfiddle

+0

它definetly在我提供的例子一樣。不過,我想包括一個使用不同的漢堡包圖標。 而對於標籤關閉我想用一個關閉圖標,你看到了嗎? 不過,我似乎無法包括< i class =「fa fa-bars」> like $ label.text(「label open」); 謝謝你的時間 – Luc 2014-12-07 14:54:38

+0

該插件添加了一些類'slicknav_open'和'slicknav_collapsed'你可以使用這些並更新圖標從css – 2014-12-07 14:59:19

+0

如果你想包括html而不是文本使用'html' jQuery方法而不是'text' one。如果你只想要cha nge圖標,你可以從CSS做到這一點,只是基於上面提到的開放/摺疊類。 – 2014-12-07 15:00:49

0

你可以只直接改變,因爲它包含在一個跨度類slicknav_menutxt文 - Fiddle

$('#open').click(function (event) { 
    event.preventDefault(); 
    $('#menu').slicknav('open'); 
    $(".slicknav_menutxt").text("label open"); 

}); 

$('#close').click(function (event) { 
    event.preventDefault(); 
    $('#menu').slicknav('close'); 
    $(".slicknav_menutxt").text("label closed"); 

}); 

$('#toggle').click(function (event) { 
    event.preventDefault(); 
    if ($(".slicknav_menutxt").text().indexOf("open") >= 0) { 
    $(".slicknav_menutxt").text("label closed"); 
    } else { 
    $(".slicknav_menutxt").text("label open"); 
    } 
    $('#menu').slicknav('toggle'); 
}); 
+0

嗯是的,這是一個很好的解決方案。不過,我試圖把它落實到「$(‘#菜單’)。slicknav({」功能,而不僅僅是一個切換。 – Luc 2014-12-07 14:43:18