无法在自定义jQuery插件中配置如何使用函数



我正在尝试两个写一个jQuery插件,以跟踪输入视图的框,我无法弄清楚如何将UI值传递给我的插件以及如何在插件中使用topIn()

基本上,此插件的意思是创建一个无回调函数boxTopIn,该函数可在客户端端重新使用

(function($) {
  $.fn.boxInView = function(options) {
    var settings = {
      boxTopIn: null
    };
    var options = $.extend(settings, options);
    function topIn(elem) {
      $(window).scroll(function() {
        var screenBot = $(window).height();
        if (($(window).scrollTop() + screenBot) > elemTop) {
          if ($.isFunction(options.onComplete)) {
            options.onComplete.call();
          }
          options.boxTopIn.call();
        }
      });
    }
  };
})(jQuery);
$('#c').boxInView({
  boxTopIn: function() {
    console.log('Box in View');
  }
});

您永远不会在$.fn.boxInView中调用topIn功能。在定义topIn功能之后尝试添加此行:

topIn(this);

这一点this的值将为$('#c'),因此应该有效。

最新更新