在項目裏,有時候會寫這樣的開關效果,點擊開關來回切換,也就是jquery實現點擊圖片切換爲另一圖片,再次點擊恢復到原圖片。
下面是一個小的demo示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
</head>
<body>
<div>
<img class="imgclick" src="images/off.png"/>
</div>
</body>
<script>
/* 實現圖片切換 */
$(".imgclick").toggle(function() {
$(this).attr("src", "images/off.png");
}, function() {
$(this).attr("src", "images/on.png");
}).attr("src", "images/on.png");
</script>
</html>
但是這裏需要注意的問題是
toggle() 方法在 jQuery 版本 1.8 中[被廢棄](javascript:NewWindow('/try/deprecated.htm');),在版本 1.9 中被移除。
所以換個demo
實現一下jQuery點擊圖片來回切換功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
</head>
<body>
<img class="button" src="images/checked.png">
</body>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
//這是一個全局變量
var kg = true; //給一個開關並賦值,用來進行後面的 if else 條件判斷
$(".button").click(function() { //給button按鈕一個點擊事件
if (kg) { //進行判斷 //attr() 方法設置或返回被選元素的屬性值
$(this).attr("src", "images/check.png") //這裏一定要放另外的一張圖,不然當點擊時,會實現不了切換的效果
} else {
$(this).attr("src", "images/checked.png")
}
kg = !kg; //這裏的感嘆號是取反的意思,如果你沒有寫,當你點擊切換回第一張圖片時,就會不生效
})
</script>
</html>