2012-01-08 33 views
-1

我有以下代碼未在一些工作如何在另一個函數中調用特定的jquery函數窗體?

的jQuery

jQuery(window).bind("load", function() { 
    function effects(content_name,active_name) 
    { 
    // switch all tabs off 
     $(active_name).removeClass("active"); 

    // switch this tab on 
     $(this).addClass("active"); 

    // slide all content up 
     $(content_name).slideUp(); 

    // slide this content up 
     var content_show = $(this).attr("title"); 
     $("#"+content_show).slideDown(); 

    } 

    $("a.tab_1").click(function() {  
     var content_name = '.content_a'; 
     var active_name = 'a.tab_1.active'; 
     effects(content_name,active_name); 

    }); 
      $("a.tab_2").click(function() {  
     var content_name = '.content_b'; 
     var active_name = 'a.tab_2.active'; 
     effects(content_name,active_name); 

    }); 
      $("a.tab_3").click(function() {  
     var content_name = '.content_c'; 
     var active_name = 'a.tab_3.active'; 
     effects(content_name,active_name);//create effects with the content   
    }); 
}); 

及其一組標籤基團的高達8。編寫單個函數會對加載時間產生不利影響。

答2小時後:

謝謝大家指出了代碼中的 「effetcs」 的錯誤。

另一個錯誤是我正在做的是沒有將「$(this)」作爲參數傳遞到被調用的函數「效果」中。

我已經連接完成必要的更改和代碼的鏈接。

[的jsfiddle] http://jsfiddle.net/phyGS/2/

+2

在第一個'click'塊中用'effects'替換'effetcs'。 – 2012-01-08 11:15:13

+0

什麼意思是「不工作」?你可以在jsfiddle中提供一個例子嗎? – BartekR 2012-01-08 11:15:50

+0

*「...哪個不工作...」*提出技術問題101:不工作***如何***?你期望它做什麼?它在做什麼呢?您是否在JavaScript控制檯中看到任何錯誤?你試圖縮小這個問題的範圍? – 2012-01-08 11:17:11

回答

2

在第1塊內effects替換effetcs,並用

effects.call(this, content_name, active_name); 

取代的

effects(content_name,active_name); 

每次發生這種call方法的新值分配給this功能屬性effects

相關問題