1. 程式人生 > >jQuery常會用到的切換事件和懸停事件

jQuery常會用到的切換事件和懸停事件

切換事件

jQuery定義了兩個事件的切換方法:hover()和toggle()。事件切換在Web開發中經常會用到,如樣式互動、行為互動等。

jQuery定義了一個toggleClass()方法,他能夠顯示/隱藏指定的樣式類,實現樣式的動態切換,而hover()和toggle()方法能夠實現行為互動,toggle()方法用於繫結兩個或多個事件處理器函式,以相應被選元素的輪流的click事件。

從jQuery 1.9版本開始,jQuery 刪除了toggle(function, function, ..)用法,僅作為元素顯隱切換的互動事件。如果元素是可見的,切換為隱藏的;如果元素是隱藏的,切換為可見的。toggle([speed], [easing], [fn])預設是0毫秒,可選值如"slow”、引數speed為可選引數,表示隱藏/顯示效果的速度,可用引數"normal"、"fast"。 引數easing也是可選引數,用來指定切換效果,預設是"swing大"linear"。引數fn也是可選引數,定義在動面完成時執行的函式,每個元素執行一次。

在下面程式碼中,使用按鈕動態控制列表框的顯示或隱藏。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="jquery/jquery-3.1.1.js" type="text/javascript"></script>
<script type="text/javascript" >
$(function(){ 
    $("button").click(function(){
        $("ul#list").toggle("slow");
    });
})
</script>
<style type="text/css">
</style>
</head>
<body>
<button>控制按鈕</button>
<ul id="list">
    <li>空山新雨後,天氣晚來秋。</li>
    <li>明月鬆間照,清泉石上流。</li>
    <li>竹喧歸浣女,蓮動下漁舟。</li>
    <li>隨意春芳歇,王孫自可留。</li>   
</ul>
</body>
</html>

也可以直接為toggle()方法傳遞true或false引數,用於確定顯示或隱藏元素。如下面的程式碼,當單機阿牛時,將段落文字隱藏,而不是切換效果。

$(function(){ 
    $("button").click(function(){
        $("ul#list").toggle(false);
    });
})

懸停事件

hover()方法可以模仿懸停事件,其用法也非常的簡單,它包含兩個引數,第一個引數表示滑鼠移動到元素上時所觸發的函式,第二個引數表示滑鼠指標移除元素後要觸發的函式。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="jquery/jquery-3.1.1.js" type="text/javascript"></script>
<script type="text/javascript" >
$(function(){
    $("input").hover(
    function(){
        this.text("滑鼠經過");
    },
    function(){
        this.text("滑鼠已移出");
    })
})
</script>
</head>
<body>
<div style="width:100px;height:100px;border:1px solid red;"></div>
</body>
</html>