本文實例講述了jQuery基于toggle實現click觸發DIV的顯示與隱藏。分享給大家供大家參考,具體如下:
研究了一下toggle之click觸發DIV的顯示與隱藏,現在把代碼發上來。
HTML代碼:
<input type="button" id="btn" title="Click me 你會看到效果" value="點擊此處" /><div id="content" style="padding:10px; margin-top:5px; border:1px dotted #BBB;"><p>每次點擊時切換要調用的函數。<br />如果點擊了一個匹配的元素,則觸發指定的第一個函數,當再次點擊同一元素時,<br />則觸發指定的第二個函數。隨后的每次點擊都重復對這兩個函數的輪番調用。可以使用unbind("click")來刪除。 </p></div>JQuery代碼:
完整版:
<script src="jquery.js"></script><script language="javascript">$(function(){$("#btn").toggle(function(){$(this).click(function(){$("#content").hide();})},function(){$(this).click(function(){$("#content").show();})});})</script>簡寫版(推薦):
<script src="jquery.js"></script><script language="javascript">$(function(){$("#btn").toggle(function(){$("#content").hide();},function(){$("#content").show();});})</script>問題:
使用jQuery toggle時,點擊后會閃一下,DIV才出來
<div > <img src="${ctx }/images/face.png" height="20" onclick="Effect.toggle('font_div','slide'); return false;" /></div><div id="font_div" style="display: none;"><ul><li><a style="color: black; font-size: 10px" href="#" onclick="NYSfont2('black');return false;">■</a></li></ul><div>程序如上,我想點擊一個圖片實現font_div隱藏與顯示,但是實際情況是當我點擊了這個圖片后font_div部分不是很順利的就顯示出來,而是先把整個font_div顯示出來,然后又重新慢慢顯示。就像是閃了一下,再實現我要的效果!隱藏的時候也是一樣,先慢慢的隱藏,當隱藏完之后緊接著又閃一下。不知道這是怎么回事?請指教!!!!
問題補充:
問題解決了,就因為在文件里少了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
加上這一行就一點問題沒有了!
解決方法:
這里給出一個簡單的例子,可以達到上述效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title><script src="jquery.js"></script><script>$(function(){ $("#shift").click(function(){$("p").slideToggle("slow"); });});</script></head><body><div ><input type="button" id="shift"value="點擊這里" /><p style="display:none">我想點擊一個圖片實現font_div隱藏與顯示,但是實際情況是當我點擊了這個圖片后font_div部分不是很順利的就顯示出來,而是先把整個font_div顯示出來,然后又重新慢慢顯示。就像是閃了一下,再實現我要的效果!隱藏的時候也是一樣,先慢慢的隱藏,當隱藏完之后緊接著又閃一下。不知道這是怎么回事?請指教!!!!</p></div></body></html>更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答