在项目里,有时候会写这样的开关效果,点击开关来回切换,也就是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>