2012-01-08 67 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

相关问题