jQuery基于toggle實(shí)現(xiàn)click觸發(fā)DIV的顯示與隱藏問題分析
本文實(shí)例講述了jQuery基于toggle實(shí)現(xiàn)click觸發(fā)DIV的顯示與隱藏。分享給大家供大家參考,具體如下:
研究了一下toggle之click觸發(fā)DIV的顯示與隱藏,現(xiàn)在把代碼發(fā)上來。
HTML代碼:
<input type="button" id="btn" title="Click me 你會看到效果" value="點(diǎn)擊此處" />
<div id="content" style="padding:10px; margin-top:5px; border:1px dotted #BBB;">
<p>每次點(diǎn)擊時(shí)切換要調(diào)用的函數(shù)。<br />如果點(diǎn)擊了一個(gè)匹配的元素,則觸發(fā)指定的第一個(gè)函數(shù),當(dāng)再次點(diǎn)擊同一元素時(shí),<br />
則觸發(fā)指定的第二個(gè)函數(shù)。隨后的每次點(diǎn)擊都重復(fù)對這兩個(gè)函數(shù)的輪番調(diào)用。
可以使用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時(shí),點(diǎn)擊后會閃一下,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>
程序如上,我想點(diǎn)擊一個(gè)圖片實(shí)現(xiàn)font_div隱藏與顯示,但是實(shí)際情況是當(dāng)我點(diǎn)擊了這個(gè)圖片后font_div部分不是很順利的就顯示出來,而是先把整個(gè)font_div顯示出來,然后又重新慢慢顯示。就像是閃了一下,再實(shí)現(xiàn)我要的效果!隱藏的時(shí)候也是一樣,先慢慢的隱藏,當(dāng)隱藏完之后緊接著又閃一下。不知道這是怎么回事?請指教?。。?!
問題補(bǔ)充:
問題解決了,就因?yàn)樵谖募锷倭?/p>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
加上這一行就一點(diǎn)問題沒有了!
解決方法:
這里給出一個(gè)簡單的例子,可以達(dá)到上述效果:
<!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>無標(biāo)題文檔</title>
<script src="jquery.js"></script>
<script>
$(function(){
$("#shift").click(function(){
$("p").slideToggle("slow");
});
});
</script>
</head>
<body>
<div >
<input type="button" id="shift"value="點(diǎn)擊這里" />
<p style="display:none">我想點(diǎn)擊一個(gè)圖片實(shí)現(xiàn)font_div隱藏與顯示,但是實(shí)際情況是當(dāng)我點(diǎn)擊了這個(gè)圖片后font_div部分不是很順利的就顯示出來,而是先把整個(gè)font_div顯示出來,然后又重新慢慢顯示。就像是閃了一下,再實(shí)現(xiàn)我要的效果!隱藏的時(shí)候也是一樣,先慢慢的隱藏,當(dāng)隱藏完之后緊接著又閃一下。不知道這是怎么回事?請指教!?。?!</p>
</div>
</body>
</html>
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jquery網(wǎng)頁元素拖拽插件效果及實(shí)現(xiàn)
效果說明:配合已有css樣式,載入插件后,網(wǎng)頁元素可以隨意在窗口內(nèi)拖拽,設(shè)置了原位置半透明和拖拽半透明的效果選項(xiàng),可根據(jù)需要選擇。另外,當(dāng)頁面上有多個(gè)可拖拽元素時(shí),可以載入另外一個(gè)用于設(shè)置z-index的插件,模擬windows窗口點(diǎn)擊置頂效果。2013-08-08
jquery和javascript中如何將一元素的內(nèi)容賦給另一元素
將一元素的內(nèi)容賦給另一元素,在某些情況下還是比較實(shí)用的,下面為大家講解下jquery和javascript中是如何實(shí)現(xiàn)的2014-01-01
jQuery插件HighCharts繪制2D柱狀圖、折線圖的組合雙軸圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts繪制2D柱狀圖、折線圖的組合雙軸圖效果,結(jié)合實(shí)例形式分析了jQuery使用HighCharts插件同時(shí)繪制柱狀圖、折線圖的組合雙軸圖實(shí)現(xiàn)步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
設(shè)置jQueryUI DatePicker默認(rèn)語言為中文
本文主要介紹jQueryUI DatePicker設(shè)置中文的方法,需要的朋友可以參考下。2016-06-06
精心挑選的15款優(yōu)秀jQuery 本特效插件和教程
今天這篇文章向大家分享15款精心挑選的優(yōu)秀 jQuery 文本特效插件,都帶有詳細(xì)的使用教程。jQuery 是最流行和使用最廣泛的 JavaScript 框架,它簡化了 HTML 文檔遍歷,事件處理,動畫以及Ajax交互,幫助 Web 開發(fā)人員更快速的實(shí)現(xiàn)各種精美的界面效果2012-08-08

