JQuery toggle使用分析
更新時間:2009年11月16日 21:30:34 作者:
今天針對這個JQuery里面的toggle聊幾句,文章中涉及到了一些問題望牛牛們能幫忙解惑一下。
今天重點一個toggle(fn,fn,….)函數(shù),主要是用來切換某個事件的輪換操作。
比如:對一個按鈕的點擊事件和一個DIV的背景,點擊一次按鈕,將DIV的背景顯示為藍色,點擊第二次的時候要將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,….);先明白一個toggle()的函數(shù),主要是用來切換元素的顯示狀態(tài)。如果一個元素是顯示的,那么調(diào)用.toggle()之后就變得隱藏了。
JQuery代碼:
<script type="text/javascript">
$(
function() {
$("#btnShow").click(function(event) {
$("#DivToggle").toggle();
});
}
);
</script>
點擊按鈕之后DIV隱藏,再次點擊DIV顯示,然后循環(huán)。
這里我們可以手動設置元素的顯示和隱藏,顯示:toggle(true);隱藏:toggle(false);
我們還可以為元素的隱藏和顯示設置速度。
$("#DivToggle").toggle(600);
當然到這里我們可以想到我們經(jīng)常在網(wǎng)頁中碰到的將鼠標移上去顯示出來,然后鼠標移開則隱藏掉的效果。
這里當然用到了一個hover(fnover,fnout)事件。我們只要將fnover,和fnout設置為以上的toggle(600)即可;
這里的fnover是鼠標移上去的事件函數(shù), fnout是鼠標移開的事件函數(shù)。
我們將toggle(600)單獨設置為一個函數(shù)來調(diào)用,這樣看起來代表比較易讀。
<script type="text/javascript">
$(
function(event) {
$("#btnShow").hover(OverOut, OverOut);
function OverOut(event) {
$("#DivToggle").toggle(600);
}
}
);
</script>
這樣我們把鼠標移動到按鈕上面,然后移開,就可以看到DivToggle的隱藏和顯示的效果了。
為了演示toggle(fn,fn,…)是輪換操作的,我們使用上面的一個函數(shù),然后再加一個使用btnShow的Click事件先隱藏顯示DIV,然后該表DIV的樣式。
顯示隱藏的代碼可以這樣(事實上這段代碼是有問題的,但是居然這樣寫也能實現(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>
回過頭來看這段代碼覺得很有問題,本身toggle(fn,fn,…)是用來給指定的元素加上Click事件,然后再對這個元素循環(huán)做toggle
里面的那些函數(shù)。突然感覺有點攪在那里了。像麻花一樣。望牛牛能解釋一下。
這樣為了演示toggle的輪循函數(shù)的效果就沒有辦法,通過單擊按鈕,再改變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>
到這里我突然想到,要實現(xiàn)以上的效果,那就直接把事件加載到按鈕上,也就是”btnShow”上面也就是先隱藏顯示,然后改變DIV的樣式。詳細的代碼如下:
<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>
這樣能實現(xiàn)以上要的效果,就是先隱藏,再顯示,再改變樣式。
比如:對一個按鈕的點擊事件和一個DIV的背景,點擊一次按鈕,將DIV的背景顯示為藍色,點擊第二次的時候要將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,….);先明白一個toggle()的函數(shù),主要是用來切換元素的顯示狀態(tài)。如果一個元素是顯示的,那么調(diào)用.toggle()之后就變得隱藏了。
JQuery代碼:
復制代碼 代碼如下:
<script type="text/javascript">
$(
function() {
$("#btnShow").click(function(event) {
$("#DivToggle").toggle();
});
}
);
</script>
點擊按鈕之后DIV隱藏,再次點擊DIV顯示,然后循環(huán)。
這里我們可以手動設置元素的顯示和隱藏,顯示:toggle(true);隱藏:toggle(false);
我們還可以為元素的隱藏和顯示設置速度。
$("#DivToggle").toggle(600);
當然到這里我們可以想到我們經(jīng)常在網(wǎng)頁中碰到的將鼠標移上去顯示出來,然后鼠標移開則隱藏掉的效果。
這里當然用到了一個hover(fnover,fnout)事件。我們只要將fnover,和fnout設置為以上的toggle(600)即可;
這里的fnover是鼠標移上去的事件函數(shù), fnout是鼠標移開的事件函數(shù)。
我們將toggle(600)單獨設置為一個函數(shù)來調(diào)用,這樣看起來代表比較易讀。
復制代碼 代碼如下:
<script type="text/javascript">
$(
function(event) {
$("#btnShow").hover(OverOut, OverOut);
function OverOut(event) {
$("#DivToggle").toggle(600);
}
}
);
</script>
這樣我們把鼠標移動到按鈕上面,然后移開,就可以看到DivToggle的隱藏和顯示的效果了。
為了演示toggle(fn,fn,…)是輪換操作的,我們使用上面的一個函數(shù),然后再加一個使用btnShow的Click事件先隱藏顯示DIV,然后該表DIV的樣式。
顯示隱藏的代碼可以這樣(事實上這段代碼是有問題的,但是居然這樣寫也能實現(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>
回過頭來看這段代碼覺得很有問題,本身toggle(fn,fn,…)是用來給指定的元素加上Click事件,然后再對這個元素循環(huán)做toggle
里面的那些函數(shù)。突然感覺有點攪在那里了。像麻花一樣。望牛牛能解釋一下。
這樣為了演示toggle的輪循函數(shù)的效果就沒有辦法,通過單擊按鈕,再改變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>
到這里我突然想到,要實現(xiàn)以上的效果,那就直接把事件加載到按鈕上,也就是”btnShow”上面也就是先隱藏顯示,然后改變DIV的樣式。詳細的代碼如下:
復制代碼 代碼如下:
<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>
這樣能實現(xiàn)以上要的效果,就是先隱藏,再顯示,再改變樣式。
相關(guān)文章
使用jquery-easyui的布局layout寫后臺管理頁面的代碼詳解
這篇文章主要介紹了使用jquery-easyui的布局layout寫后臺管理頁面的代碼詳解,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06Jquery中children與find之間的區(qū)別詳細解析
這篇文章主要是對Jquery中children與find之間的區(qū)別進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11基于jQuery實現(xiàn)左右div自適應高度完全相同的代碼
最近做前端設計時需要使左右兩個DIV高度自適應。這其中的jquery代碼中的獲得高度用的clientHeight,介紹一下幾種不同的獲得方式以及他們的差別2012-08-08jquery ajax對特殊字符進行轉(zhuǎn)義防止js注入使用示例
如果有人在留言里寫入了js語句,這結(jié)語句都會被執(zhí)行.解決辦法就是對這些特殊字符進行轉(zhuǎn)義再顯示出來,下面有個不錯的示例,感興趣的朋友可以參考下2013-11-11