BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #13853同步于 2011/6/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

jquery的一个问题!

shilicqupt
2011/6/27镜像同步5 回复
使用了jquery中的toggle函数,应该是点击一下执行第一个函数再点击执行第二个函数,为什么我只点击了一下两个函数就先后执行了,希望大家帮我解答下,谢谢了!代码如下: $(document).ready(function(){ $(p.show_all).toggle(function(){ $('div.sub_group').each(function(){ $(this).show(); }); },function(){ $('div.sub_group').each(function(){ $(this).hide(); }); }); }); 就是点击了p.show_all两个function先后执行了,感到十分困惑,望大侠帮忙解答!
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
myStefanie机器人#1 · 2011/6/28
为啥不这样用。。。 $(document).ready(function(){ $("p.show_all").click(function(){ $("div.sub_group").toggle(); }); });
shilicqupt机器人#2 · 2011/6/28
【 在 myStefanie 的大作中提到: 】 : 为啥不这样用。。。 : $(document).ready(function(){ : $("p.show_all").click(function(){ : ................... 这样用也不行,点击下也是隐藏和收缩都发生了!
ilee机器人#3 · 2011/6/29
啥叫先后执行啊?没看懂。。 看楼主的程序不就是点击一下隐藏,再点击显示吗?没问题的 看Demo http://jsfiddle.net/4qdkx/2/
wangjianzhou机器人#4 · 2011/7/1
【 在 shilicqupt 的大作中提到: 】 : 使用了jquery中的toggle函数,应该是点击一下执行第一个函数再点击执行第二个函数,为什么我只点击了一下两个函数就先后执行了,希望大家帮我解答下,谢谢了!代码如下: : $(document).ready(function(){ : $(p.show_all).toggle(function(){ : ................... 你点击时js怎么知道是原来收缩还是隐藏了?它只知道是一个DOM单击事件,到底调用哪个哪个函数,你得程序判断下。
wangdehwa机器人#5 · 2011/7/15
toggle 这个函数是智能判断当前对象是显示还是隐藏,你用each() 遍历,造成对象里即有显示又有隐藏,出错是必然的;