2012-10-22 63 views
0

我試着修改superfish.js - 基於JQuery的superfish菜單。 我有這樣的功能和工作是偉大的superfish.js同樣的方法重複

showSuperfishUl : function(){ 
      var o = sf.op, 
      sh = sf.c.shadowClass+'-off', 
      $ul = this.addClass(o.hoverClass) 
      .find('>ul:hidden').css('visibility','visible'); 
      sf.IE7fix.call($ul); 
      o.onBeforeShow.call($ul); 

      $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); 
      o.onShow.call($ul); }); 
      return this; 
    } 

但如果添加重複

showSuperfishUl1 : function(){ 
    var o = sf.op, 
    sh = sf.c.shadowClass+'-off', 
    $ul = this.addClass(o.hoverClass) 
    .find('>div:hidden').css('visibility','visible'); 
    sf.IE7fix.call($ul); 
    o.onBeforeShow.call($ul); 

    $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); 
    o.onShow.call($ul); }); 
    return this; 
} 

功能被破壞 怎麼辦將這些功能?

+0

沒有辦法,這將打破插件,除非你的添加有語法錯誤,你確定在對象字面值的所有逗號是在正確的地方?即使這些函數具有相同的名稱,它們也會相互覆蓋。 – jbabey

回答

1

你需要使它工作左右逢源,

showSuperfishUl : function(){ 
     var o = sf.op, 
     sh = sf.c.shadowClass+'-off', 
     $ul = his.addClass(o.hoverClass).find('>*:hidden').css('visibility','visible'); 
     sf.IE7fix.call($ul); 
     o.onBeforeShow.call($ul); 

     $ul.animate(o.animation,o.speed,function(){ 
      sf.IE7fix.call($ul); 
      o.onShow.call($ul); 
     }); 
     return this; 
    } 

但超級魚設計爲使用<ul> S和<li>秒。 t可能無法工作。