2017-03-08 311 views
0

的插件的代碼如下,呼叫功能 - slimscroll.js

(function($) { 
    jQuery.fn.extend({ 
      slimScroll: function(options) { 
      var defaults = { 
       .... 
      }; 

      this.each(function() { 
       function scrollContent(y, isWheel, isJump) { 
        .... 
       } 
       } 
       return this; 
      } 
      }); jQuery.fn.extend({ 
      slimscroll: jQuery.fn.slimScroll 
     }); 

如何從插件外調用函數scrollContent()?

我曾嘗試

$("#myId").Slimscroll().ScrollContent();

$("#myId").data("SlimScroll").ScrollContent();

等多種途徑,但dosent似乎得到它的工作。

+0

其私有方法,它不能從外部訪問。你爲什麼想要訪問它? – Dhiraj

+0

以及即時添加項目的股利,我想觸發該功能。同時刪除項目空白區域正在出現。並在觸發一些自定義calcallations發生在slimscroll.js裏面和空白將消失,所以.. – bharath

+0

你能告訴我如何使它公開,以便我可以稱之爲? – bharath

回答

0

由於代碼顯示scrollContent是一種私有方法,不應該從插件外部訪問。相反,您可以通過簡單地調用$("#myId").slimScroll()來重新呈現滾動條,如this example中所示。

+0

試過了。但不給我想要的結果。如果我添加/刪除包含slimscroll的div之間的元素,滾動位置將會丟失。 – bharath

+0

而且無法知道滾動條的位置和滾動條的高度,因此動態添加元素。 – bharath

+0

你可以使用'var top = $ el.scrollTop();'?添加元素'$ el.slimScroll({scrollTo:top})'後 – Bram