2017-02-22 15 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'),所以應該工作。

相關問題