[問題] jQuery的toggle

看板Ajax作者 (大笨羊)時間12年前 (2013/08/07 17:40), 編輯推噓2(2011)
留言13則, 5人參與, 最新討論串1/1
先貼程式碼(jQuery 1.6.3) 瀏覽器:IE8 和 Chrome ================================= <script> $(document).ready(function () { $('#MyToggle').toggle( function () { $(this).next('#word').fadeIn(); }, function () { $(this).next('#word').fadeOut(); }); }); </script> ================================ 小弟是個新手 今天測試了一整個下午 有關toggle事件的應用 本來一開始 我發現選取物件後 在使用toggle 會讓物件被隱藏 經過不斷測試 發現是css的問題 "一開始" 就要把使用toggle(也就是id是MyToggle的物件) 的Display設成none (這點也讓我覺得滿奇妙的) 但是奇怪的事情還是一直發生 在載入網頁後 我連點擊都還沒使用 他就自動fadeOut了 而且再度點擊MyToggle物件 也不會fadeIn回來 本來想說可能是event bubbling 也用了stopPropagation() 但是依舊無法成功的使用toggle 上網Google的方法都不能成功... 請板上的大大幫助我 我會非常感謝的... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.21.120.97

08/07 17:45, , 1F
toggle要知道之前的state,不然怎麼知道是隱藏還是顯示
08/07 17:45, 1F

08/07 17:45, , 2F
所以可以先用show()或hide()或者改css
08/07 17:45, 2F

08/07 17:46, , 3F
原來是這樣! 但是我點擊他還是沒用耶..
08/07 17:46, 3F

08/07 17:52, , 4F
我有加 $('#word').hide(); 在前面了..但是還是不行
08/07 17:52, 4F

08/07 17:52, , 5F
MyToggle也設定好了css
08/07 17:52, 5F
※ 編輯: wa007123456 來自: 211.21.120.97 (08/07 17:55)

08/07 18:12, , 6F
還是改用fadeToggle()好了...
08/07 18:12, 6F

08/07 18:53, , 7F
toggle(function,function,...) 在 jQuery 1.9 已經廢止了
08/07 18:53, 7F

08/07 20:32, , 8F
樓上 我用的是1.6...
08/07 20:32, 8F

08/07 20:34, , 9F
我是下載舊版的0.0
08/07 20:34, 9F

08/08 00:00, , 10F
sorry, 我也很久沒用jQuery orz..說錯見諒
08/08 00:00, 10F

08/08 00:15, , 11F
event 相關的定義還是乖乖用 .bind 吧, 要不然常常會被當
08/08 00:15, 11F

08/08 00:16, , 12F
成直接 trigger event
08/08 00:16, 12F

08/08 12:47, , 13F
弄個範例在 jsfiddle 上, 這樣比較方便幫你除錯
08/08 12:47, 13F
文章代碼(AID): #1I0XObUD (Ajax)
文章代碼(AID): #1I0XObUD (Ajax)