作者wa007123456 (大笨羊)
看板Ajax
標題[問題] jQuery的toggle
時間Wed Aug 7 17:40:50 2013
先貼程式碼(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
1F:推 lyforever:toggle要知道之前的state,不然怎麼知道是隱藏還是顯示 08/07 17:45
2F:→ lyforever:所以可以先用show()或hide()或者改css 08/07 17:45
3F:→ wa007123456:原來是這樣! 但是我點擊他還是沒用耶.. 08/07 17:46
4F:→ wa007123456:我有加 $('#word').hide(); 在前面了..但是還是不行 08/07 17:52
5F:→ wa007123456:MyToggle也設定好了css 08/07 17:52
※ 編輯: wa007123456 來自: 211.21.120.97 (08/07 17:55)
6F:→ wa007123456:還是改用fadeToggle()好了... 08/07 18:12
7F:推 akiratw:toggle(function,function,...) 在 jQuery 1.9 已經廢止了 08/07 18:53
8F:→ wa007123456:樓上 我用的是1.6... 08/07 20:32
9F:→ wa007123456:我是下載舊版的0.0 08/07 20:34
10F:→ lyforever:sorry, 我也很久沒用jQuery orz..說錯見諒 08/08 00:00
11F:→ Madevil:event 相關的定義還是乖乖用 .bind 吧, 要不然常常會被當 08/08 00:15
12F:→ Madevil:成直接 trigger event 08/08 00:16
13F:→ abgne:弄個範例在 jsfiddle 上, 這樣比較方便幫你除錯 08/08 12:47