jquery 自定义函数无法实现自定义回调函数 5

代码:$.fn.everyhide=function(callback){if($(this)==$(this).parent().children().last()){... 代码:
$.fn.everyhide = function(callback){
if ($(this)==$(this).parent().children().last()){
callback();
return;
}
$(this).animate({opacity:'0'},function(){
$(this).next().everyhide();
});
}

callback函数在使用时没有被调用 怎么办
修改后的程序:
$.fn.everyhide = function(callback){
var hidesign = 0;
if ($(this).html()==$(this).parent().children().last().html()){
hidesign = 1;
$(this).animate({opacity:'0'},function(){callback();});
}
//this==$(this).parent().children().get(-1)也试过了

if (hidesign){return;}
$(this).animate({opacity:'0'},function(){$(this).next().everyhide();});
}
展开
 我来答
xi8km9
2015-04-26 · TA获得超过1086个赞
知道小有建树答主
回答量:688
采纳率:50%
帮助的人:724万
展开全部
恭喜你掉到了名为对象相等判断的大坑
$(this)是个JQuery对象
$(this).parent().children().last()也是个JQuery对象
他俩相等当且仅当他俩是同一个对象, 而不是他们的内容相等
但jQuery大部分查找/封装操作都会生成新的对象
所以他们永远不相等

所以解决方法
this==$(this).parent().children().get(-1)
更多追问追答
追问
你好 我程序修改过了 可是还是不能执行回调函数 怎么办?
追答
...请提供html结构
否则没法判断是什麽问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式