2

我对 Javascript 很陌生,我正在尝试弄清楚如何在以下脚本中使用一些内部函数:

https://github.com/uikit/uikit/blob/cd959903879588740de2f883dde34a8b12a47cba/dist/js/uikit.js

基本上,我想在第 859 行手动触发 Offcanvas的show和命令,以在.hide#offcanvas-nav

对我来说,看起来外部命名空间是UI,所以我的第一个想法是在加载主 uikit.js 文件之后在新文件中引用它

function staticShow() {
  var UI = $.UIkit || {};
  var offcanvas_nav = jQuery.UIkit.offcanvas($('#offcanvas-nav'),{});
  ...
}

但我没有运气。其次,我尝试以成员身份访问 Offcanvas,jQuery.UIkit但结果相似。如何访问 Offcanvas 功能的显示/隐藏方法?

我想学习的另一个教训是第 972 行发生的事情,

})(jQuery, jQuery.UIkit, window.DocumentTouch);

我敢打赌我的问题在于不理解这一点,但我什至不知道要搜索的 Google 短语。感谢您的任何帮助。

4

1 回答 1

2

第 972 行调用第 851 行的匿名函数

(function($, UI, DocumentTouch) {              //line 851
  //omitted
})(jQuery, jQuery.UIkit, window.DocumentTouch);//line 972

所以在函数内

  • $=jQuery
  • UI=jQuery.UIkit
  • DocumentTouch=window.DocumentTouch

通过查看这些行

OffcanvasTrigger.offcanvas = Offcanvas; //line 953

UI["offcanvas"] = OffcanvasTrigger;     //line 955

show应该在这里可用:jQuery.UIkit.offcanvas.offcanvas.show

于 2013-08-02T20:59:50.043 回答