Ajax 板


LINE

※ 引述《JYHuang (夏天到了,冷不起来了说)》之铭言: : 这几天在写一个grid的功能,遇到了一点小问题。 : 就拿出来讨论一下。 : ╔═╦═╦═╗ : th ║1 ║2 ║3 ║ : ╟─╫─╫─╢ : td ├─┼─┼─┤ : td ├─┼─┼─┤ : td └─┴─┴─┘ : 简单的说,我要做的动作大至上是click th[n]时, : th跟每列的第n个td都做fadeOut的动作 : 然後再用test()计算table的宽度 : 首先 : $("thead th").click(function(){ : var index =$(this).index(); : $("td:eq("+index+")","tr").fadeOut('slow'); : test(); : }); : 当然..事情没憨人想的这麽简单 : javascript的指令是不会停下来等动作执行完再执行下一行的 : 所以fadeOut这种有时间轴的动作会跟test()一起被执行 : 这样一来计算出来的宽度就有误了。 : 所以接着试试看callback : $("thead th").click(function(){ : var index =$(this).index(); : $("td:eq("+index+")","tr").fadeOut('slow',test); : }); : 不过问题又来了.. : 要执行的对像是一个集合.. : 所以callback会被每一个子元件重复的执行... : 此时想到了JQuery还有一个queue的功能.. : 不过看了半天官方API文件还是一头雾水..只好慢慢踹.. : jQuery.queue( $("td:eq("+index+")","tr")[0], "fx", function () { : test(); : jQuery.dequeue( this ); : }); 你的问题其实很单纯, 你想在一整个 col (有k个td + 1th ) fadeOut後,执行一些事情。 基本上因为每个 td/ th 都会有自己不同的 fx queue , (这个复杂度是来自於context) 所以 queue 我个人会觉得对你没啥用,你很难确保哪一个会最晚执行完, 这要看 jQuery 实做 fadeIn / fadeOut 的timer, 基本上timer 这种事情很难掌握先来後到,变数很大。 除非你可以忍受 k个 td+1th 「一个一个执行 fadeOut」後再做你要做的事情。 那基本上你可以把 fadeIn/Out 这件事写在某个第三方的context queue里。 所以,我就会推荐你一个很蠢,但是保证有效的方案。 $("thead th").click(function(){ var index =$(this).index(); var counter = 0 ; var size = $("td:eq("+index+")","tr").size(); $("td:eq("+index+")","tr").fadeOut('slow',function(){ counter++; if(size == counter){ test(); } ); }); 大概是类似这样,总之,凡事只要是扯上生命周期,都是很复杂的... -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.136.202.202
1F:→ s25g5d4:很酷的方法... 囧 08/27 23:48
2F:→ JYHuang:结果最我还是直接用hide... 08/28 00:04
3F:→ TonyQ:嘿啊 其实这麽多栏去隐藏真的不如hide,负担太大。 08/28 00:08
4F:推 JYHuang:不过写这个仿flexgrid的gird最痛苦的还是针对ie6去修正 08/28 00:09
5F:→ JYHuang:要一次面对一堆IE6下event的CSS的"特立独行" 囧rz 08/28 00:10
6F:推 s25g5d4:T大的签名档都超有格调的 (我绝对不会说其实是我看不懂) 08/28 07:36
7F:推 s25g5d4:#1CP16l4K 这个专辑介绍的网页快做好了 整理code以後会放 08/28 07:41
8F:→ s25g5d4:上来给各位批评@@" 08/28 07:41
9F:→ s25g5d4:问题在去cache变数的话 都会交叉影响到... 08/28 07:42
10F:→ s25g5d4:不做cache效能又差...不过实际上也是那十几ms的差距而已 08/28 07:42
11F:→ TonyQ:cache 会交叉影响到有几个可能性,第一个是可能不该做cache 08/29 15:18
12F:→ TonyQ:第二个是你可能没有给对 scope ,有些时候我们会把变数cache 08/29 15:18
13F:→ TonyQ:在元件上,这样就可以by 元件来设定cache .(更正是 context 08/29 15:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP