我有以下代码无效
的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)”作为参数传递给被调用函数“effects”。
我已经连接了必要的更改并且代码有效的链接。
[jsfiddle] http://jsfiddle.net/phyGS/2/
答案 0 :(得分:2)
在第一个块中将effetcs
替换为effects
,并替换每次出现的
effects(content_name,active_name);
与
effects.call(this, content_name, active_name);
此call
方法为函数this
的{{1}}属性指定了新值。