自定义 JQ 方法调用不了

$(function(){
    $('.phone-a').click(function(){
        $('.phone_Mask-layer').slideToggle("show",'changeCorlor');
    })
    //自定义方法
    jQuery.fn.changeCorlor=function(){
        $('.sort-box-max').css("background-color","#f5f5f5");
    }
})

为什么调用不了呢?

阅读 3.4k
3 个回答
$(function(){
    $('.phone-a').click(function(){
        $('.phone_Mask-layer').slideToggle("show",jQuery.fn.changeCorlor);
    })
    //自定义方法
    jQuery.fn.changeCorlor=function(){
        $('.sort-box-max').css("background-color","#f5f5f5");
    }
})

第二个参数是function不是string,'changeCorlor' 改成 $.fn.changeCorlor。
为什么非要定义成JQ方法呢,直接写成 function 然后用slideToggle去调用就好啦。

$(function(){
    $('.phone-a').click(function(){
        $('.phone_Mask-layer').slideToggle("show",changeCorlor());
    })
    //自定义方法
    function changeCorlor(){
        $('.sort-box-max').css("background-color","#f5f5f5");
    }
})

slideToggle第二个参数为函数指针,而不是字符串。另外你扩展一个JQ方法,里面应该是通过this操作,而不应该是你这里的$('.sort-box-max')


$(function() {
    $('.phone-a').click(function() {
        $('.phone_Mask-layer').slideToggle("show", $.fn.changeCorlor或者$().changeCorlor);
    })
    //自定义方法
    jQuery.fn.changeCorlor=function() {
        $(this).css("background-color","#f5f5f5");
    }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题