2017-02-22 52 views
0

我想两个写jQuery插件来跟踪框进入视图,我无法弄清楚如何将UI值传递给我的插件以及如何使用topIn()在插件里面。不能配置如何在自定义jQuery插件中使用函数

基本上这个插件是指创建一个空的回调函数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'); 
    } 
}); 

回答

1

你永远不会调用内部$.fn.boxInViewtopIn功能。尝试添加该行后定义topIn功能:

topIn(this); 

this在该点的值将是$('#c'),所以应该工作。

相关问题