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