Javascript 自定义函数错误

Javascript custom function error

本文关键字:错误 自定义函数 Javascript      更新时间:2024-04-09
function classChanger(path,changeClass,duration){
    $(path).removeClass(changeClass);
    $(this).addClass(changeClass);
)};
$('.flightDetails .option').classChanger('.flightDetails .option','selected',300);

我正在尝试创建可重用的功能。控制台日志: 类型错误: $(".flightDetails .option"(.classChanger 不是一个函数

感谢您的帮助和时间:)

你必须在 jQuery 原型上声明你的classChanger

$.fn.classChanger = function(path, changeClass, duration) {
    $(path).removeClass(changeClass);
    return this.addClass(changeClass);
};

有关更多信息,请阅读 jQuery 插件创作指南。


更新:正如评论中指出的,如果您打算让path和选择器始终相同,您应该完全放弃path,而只是在整个过程中使用this

由于您尚未确切指定要执行的操作,因此我假设您要删除该类,然后等待指定的duration,然后重新添加该类。如果是这种情况,下面是一些示例代码:

$.fn.classChanger = function(changeClass, duration) {
    var $this = this;
    setTimeout(function() {
        $this.addClass(changeClass);
    }, duration);
    return this.removeClass(changeClass);
};
$('.flightDetails .option').classChanger('selected', 300);

这是小提琴:http://jsfiddle.net/ur7SN/