0

我正在尝试在 Slicknav 菜单打开和关闭时更改 Slicknav 中的标签。

在 jsfiddle 中,在这里。我已将标签关闭用于默认状态,而对于打开状态,另一段文本我想要另一段文本。

像这样的正常状态:

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

我已经尝试过使用 basic if this then that,我觉得我只是在搞砸这个非常简单的 javascript。

任何帮助将不胜感激!

4

2 回答 2

2

在对文档
进行简短查看之后, 像这样的东西应该可以解决问题。

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的链接

于 2014-12-07T14:38:13.333 回答
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');
});
于 2014-12-07T14:15:46.003 回答