JQuery toggle使用分析
比如:對(duì)一個(gè)按鈕的點(diǎn)擊事件和一個(gè)DIV的背景,點(diǎn)擊一次按鈕,將DIV的背景顯示為藍(lán)色,點(diǎn)擊第二次的時(shí)候要將DIV的
背景色改為黑色。
我們定義的HTML代碼如下:
<body>
<input type="button" id="btnShow" value="Toggle"/>
<div id="DivToggle">此處顯示 id "DivToggle" 的內(nèi)容</div>
</body>
定義的最初的樣式如下:
#DivToggle {
height: 150px;
width: 200px;
margin: 50px;
background-color: #6CC;
}
在toggle(fn,fn,….);先明白一個(gè)toggle()的函數(shù),主要是用來(lái)切換元素的顯示狀態(tài)。如果一個(gè)元素是顯示的,那么調(diào)用.toggle()之后就變得隱藏了。
JQuery代碼:
<script type="text/javascript">
$(
function() {
$("#btnShow").click(function(event) {
$("#DivToggle").toggle();
});
}
);
</script>
點(diǎn)擊按鈕之后DIV隱藏,再次點(diǎn)擊DIV顯示,然后循環(huán)。
這里我們可以手動(dòng)設(shè)置元素的顯示和隱藏,顯示:toggle(true);隱藏:toggle(false);
我們還可以為元素的隱藏和顯示設(shè)置速度。
$("#DivToggle").toggle(600);
當(dāng)然到這里我們可以想到我們經(jīng)常在網(wǎng)頁(yè)中碰到的將鼠標(biāo)移上去顯示出來(lái),然后鼠標(biāo)移開則隱藏掉的效果。
這里當(dāng)然用到了一個(gè)hover(fnover,fnout)事件。我們只要將fnover,和fnout設(shè)置為以上的toggle(600)即可;
這里的fnover是鼠標(biāo)移上去的事件函數(shù), fnout是鼠標(biāo)移開的事件函數(shù)。
我們將toggle(600)單獨(dú)設(shè)置為一個(gè)函數(shù)來(lái)調(diào)用,這樣看起來(lái)代表比較易讀。
<script type="text/javascript">
$(
function(event) {
$("#btnShow").hover(OverOut, OverOut);
function OverOut(event) {
$("#DivToggle").toggle(600);
}
}
);
</script>
這樣我們把鼠標(biāo)移動(dòng)到按鈕上面,然后移開,就可以看到DivToggle的隱藏和顯示的效果了。
為了演示toggle(fn,fn,…)是輪換操作的,我們使用上面的一個(gè)函數(shù),然后再加一個(gè)使用btnShow的Click事件先隱藏顯示DIV,然后該表DIV的樣式。
顯示隱藏的代碼可以這樣(事實(shí)上這段代碼是有問(wèn)題的,但是居然這樣寫也能實(shí)現(xiàn)要的效果):
<script type="text/javascript">
$(
function(event) {
function OverOut(event) {
$("#DivToggle").toggle(600);
}
$("#DivToggle").toggle(function() {
$("#btnShow").click(OverOut);
}, function() {
$("#btnShow").click(OverOut);
});
}
);
</script>
回過(guò)頭來(lái)看這段代碼覺(jué)得很有問(wèn)題,本身toggle(fn,fn,…)是用來(lái)給指定的元素加上Click事件,然后再對(duì)這個(gè)元素循環(huán)做toggle
里面的那些函數(shù)。突然感覺(jué)有點(diǎn)攪在那里了。像麻花一樣。望牛牛能解釋一下。
這樣為了演示toggle的輪循函數(shù)的效果就沒(méi)有辦法,通過(guò)單擊按鈕,再改變Div的樣式了。
改變DIV樣式的代碼這樣:
<script type="text/javascript">
$(
function(event) {
function OverOut(event) {
$("#DivToggle").toggle(600);
}
$("#DivToggle").toggle(function() {
$(this).click(function() { $(this).css("background", "Blue"); });
}, function(event) {
$(this).click(function() { $(this).css("background", "Green"); });
});
}
);
</script>
到這里我突然想到,要實(shí)現(xiàn)以上的效果,那就直接把事件加載到按鈕上,也就是”btnShow”上面也就是先隱藏顯示,然后改變DIV的樣式。詳細(xì)的代碼如下:
<script type="text/javascript">
$(
function(event) {
function OverOut(event) {
$("#DivToggle").toggle(600);
}
$("#btnShow").toggle(
OverOut, OverOut,
function() { $("#DivToggle").css({ "background": "Green" }); },
function() { $("#DivToggle").css({ "background": "Blue" }); }
);
}
);
</script>
這樣能實(shí)現(xiàn)以上要的效果,就是先隱藏,再顯示,再改變樣式。
- Android控件之ToggleButton的使用方法
- jQuery效果 slideToggle() 方法(在隱藏和顯示之間切換)
- jquery中交替點(diǎn)擊事件toggle方法的使用示例
- JQuery入門——事件切換之toggle()方法應(yīng)用介紹
- jQuery toggle()設(shè)置CSS樣式
- JQury slideToggle閃爍問(wèn)題及解決辦法
- jquery中show()、hide()和toggle()用法實(shí)例
- ionic實(shí)現(xiàn)可滑動(dòng)的tab選項(xiàng)卡切換效果
- ionic實(shí)現(xiàn)滑動(dòng)的三種方式
- ionic實(shí)現(xiàn)帶字的toggle滑動(dòng)組件
相關(guān)文章
jQuery實(shí)現(xiàn)判斷上傳圖片類型和大小的方法示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)判斷上傳圖片類型和大小的方法,結(jié)合實(shí)例形式分析了jQuery針對(duì)上傳圖片屬性獲取、判定相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
jQuery進(jìn)階實(shí)踐之利用最優(yōu)雅的方式如何寫ajax請(qǐng)求
ajax請(qǐng)求相信對(duì)大家來(lái)說(shuō)都不陌生,下面這篇文章主要介紹了jQuery進(jìn)階實(shí)踐之利用最優(yōu)雅的方式如何寫ajax請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
jQuery實(shí)現(xiàn)輸入框下拉列表樹插件特效代碼分享
這篇文章主要介紹了jQuery實(shí)現(xiàn)輸入框下拉列表樹特效,推薦給大家,有需要的小伙伴可以參考下。2015-08-08
制作高質(zhì)量的JQuery Plugin 插件的方法
最近jquery非常流行,想個(gè)性化定制一些功能,就可以將代碼寫成插件的形式,方便使用與修改。2010-04-04
jQuery實(shí)現(xiàn)兩列等高并自適應(yīng)高度
想要使用jQuery實(shí)現(xiàn)兩列等高并自適應(yīng)高度,其實(shí)也很簡(jiǎn)單,原理就是取得左右兩邊的高度,然后判斷這個(gè)值,把大的值賦給小的就行了。下面就跟小編一起來(lái)看下吧2016-12-12
JQuery入門——用bind方法綁定事件處理函數(shù)應(yīng)用介紹
bind()功能是為每個(gè)選擇元素的事件綁定處理函數(shù),感興趣的你可以了解下它的語(yǔ)法bind(type, [data], fn),參數(shù)data是作為event.data屬性值傳遞對(duì)象的額外數(shù)據(jù)對(duì)象,好好學(xué)習(xí)希望本可以幫助到你2013-02-02
js中獲取 table節(jié)點(diǎn)各tr及td的內(nèi)容簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js中獲取 table節(jié)點(diǎn)各tr及td的內(nèi)容簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
jQuery中attr()和prop()在修改checked屬性時(shí)的區(qū)別
使用語(yǔ)句$.attr('checked',true),將復(fù)選框的屬性改為被選中,在chrome瀏覽器中第一次點(diǎn)擊有效后面就不行了,IE8倒是沒(méi)有問(wèn)題2014-07-07
jquery中插件實(shí)現(xiàn)自動(dòng)添加用戶的具體代碼
當(dāng)點(diǎn)擊添加時(shí)自動(dòng)彈出窗口,填寫完畢按確定自動(dòng)添加到table表格中,有需要的朋友可以參考一下2013-11-11

