jQuery提供一些方法(如:toggle)將兩種事件效果合並到一起,比如:mouseover、mouseout;keyup、keydown等
1、hover函數
hover(over,out)一個模仿懸停事件(鼠標移動到一個對象上面及移出這個對象)的方法。這是一個自定義的方法,它為頻繁使用的任務提供了一種“保持在其中”的狀態。
參數:
over (Function) : 鼠標移到元素上要觸發的函數。
out (Function): 鼠標移出元素要觸發的函數。
代碼如下:
<script type="text/javascript">
$(function(){
$("#panel h5.head").hover(function(){
$(this).next().show();// 鼠標懸浮時觸發
},function(){
$(this).next().hide();// 鼠標離開時觸發
})
})
</script>
2、toggle函數
toggle(fn,fn) 每次點擊時切換要調用的函數。如果點擊了一個匹配的元素,則觸發指定的第一個函數,當再次點擊同一元素時,則觸發指定的第二個函數。隨後的每次點擊都重復對這兩個函數的輪番調用。 可以使用unbind("click")來刪除。
代碼如下:
<script type="text/javascript">
$(function(){
$("#panel h5.head").toggle(function(){
$(this).next().show();// 第一次點擊時觸發
},function(){
$(this).next().hide();// 第二次點擊時觸發,之後不停的切換
})
})
</script>
toggle() 方法切換元素的可見狀態。
如果被選元素可見,則隱藏這些元素,如果被選元素隱藏,則顯示這些元素。toggle()方法切換元素的可見狀態。
如果被選元素可見,則隱藏這些元素,如果被選元素隱藏,則顯示這些元素。
所以上述的代碼還可以寫成:
代碼如下:
<script type="text/javascript">
$(function(){
$("#panel h5.head").toggle(function(){
$(this).next().toggle();
},function(){
$(this).next().toggle();
})
})
/*$(function(){
$("#panel h5.head").click(function(){
$(this).next().toggle();
})
})*/
</script>
還可以添加一些css樣式:
代碼如下:
<style type="text/css">
.highlight{ background:#FF3300; }
</style>
<script type="text/javascript">
$(function(){
$("#panel h5.head").toggle(function(){//配合css樣式使用
$(this).addClass("highlight");
$(this).next().show();
},function(){
$(this).removeClass("highlight");
$(this).next().hide();
});
})
</script>
小伙伴們是否對jQuery中常見的hover事件和toggle事件有了新的認識了呢,希望本文能給大家帶來一些幫助。